﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Server Fonksiyonlar &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/kategori/sql-server/sql-server-fonksiyonlar/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Thu, 02 Jan 2025 08:21:55 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server&#8217;da STRING_SPLIT Fonksiyonu</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-string_split-fonksiyonu</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Thu, 02 Jan 2025 07:34:48 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Fonksiyonlar]]></category>
		<category><![CDATA[T-SQL Sorguları]]></category>
		<category><![CDATA[Metin Parçalama]]></category>
		<category><![CDATA[Performans İyileştirme]]></category>
		<category><![CDATA[SQL Server 2022 Yenilikleri]]></category>
		<category><![CDATA[SQL Server Fonksiyonları]]></category>
		<category><![CDATA[STRING SPLIT]]></category>
		<category><![CDATA[Veri Manipülasyonu]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=17151</guid>

					<description><![CDATA[1. Temel Kullanım 2. 2022&#8217;de Gelen Yenilikler 3. Dinamik Veriler ve Pratik Kullanımlar 4. Performansı Artırmak İçin İpuçları 5. En Sık Sorulan Sorular STRING_SPLIT fonksiyonu,...]]></description>
										<content:encoded><![CDATA[<table class="table table-bordered">
<tbody>
<tr>
<td style="text-align: left;">1. <a href="#temel-kullanım">Temel Kullanım</a></td>
</tr>
<tr>
<td style="text-align: left;">2. <a href="#2022-yenilikler">2022&#8217;de Gelen Yenilikler</a></td>
</tr>
<tr>
<td style="text-align: left;">3. <a href="#dinamik-veriler">Dinamik Veriler ve Pratik Kullanımlar</a></td>
</tr>
<tr>
<td style="text-align: left;">4. <a href="#performans-ipuclari">Performansı Artırmak İçin İpuçları</a></td>
</tr>
<tr>
<td style="text-align: left;">5. <a href="#sss">En Sık Sorulan Sorular</a></td>
</tr>
</tbody>
</table>
<p>STRING_SPLIT fonksiyonu, SQL Server 2016 (13.x) ve üzeri sürümlerde tanıtılmıştır. Bu fonksiyon, bir metin dizesini belirli bir ayırıcıya (delimiter) göre böler ve sonuçları tek bir sütunlu bir tablo olarak döndürür. Özellikle veri işleme ve analiz süreçlerinde, virgül, boşluk gibi ayraçlarla ayrılmış metinleri parçalamak için oldukça faydalıdır.</p>
<h2 id="temel-kullanım">1. Temel Kullanım:</h2>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>SELECT value 
FROM STRING_SPLIT('Ali,Veli,Ahmet', ',');</code></pre>
<p>Bu sorgu, giriş metnindeki elemanları tek tek döndürür. Ancak SQL Server 2016 ve 2019 sürümlerinde sıralama bilgisi (parçaların orijinal pozisyonu) sağlanmaz.</p>
<h2 id="2022-yenilikler">2. STRING_SPLIT&#8217;in 2022&#8217;de Gelen Yenilikleri</h2>
<p>SQL Server 2022 ile birlikte, STRING_SPLIT fonksiyonuna opsiyonel bir <strong>ordinal</strong> sütunu eklendi. Bu sütun, metin parçalarının orijinal sıralamasını koruyarak döndürür. Yeni parametre, özellikle sıralamanın önemli olduğu işlemler için büyük kolaylık sağlar.</p>
<h3>Yeni Kullanım Örneği:</h3>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>SELECT value, ordinal 
FROM STRING_SPLIT('Ali,Veli,Ahmet', ',', 1);</code></pre>
<table class="table table-bordered">
<thead>
<tr>
<th>value</th>
<th>ordinal</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ali</td>
<td>1</td>
</tr>
<tr>
<td>Veli</td>
<td>2</td>
</tr>
<tr>
<td>Ahmet</td>
<td>3</td>
</tr>
</tbody>
</table>
<h2 id="dinamik-veriler">3. STRING_SPLIT ile Dinamik Veriler ve Pratik Kullanımlar</h2>
<p>STRING_SPLIT’in yeni <strong>ordinal</strong> sütunu özelliği, aşağıdaki gibi dinamik veri işleme durumlarında oldukça kullanışlıdır:</p>
<h3>Metinlerin Sıralı Kullanımı</h3>
<p>Bir metni parçalamak ve orijinal sırasına göre işlem yapmak istediğinizde:</p>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>SELECT value 
FROM STRING_SPLIT('SQL,Server,2022,Yenilikleri', ',', 1)
ORDER BY ordinal;</code></pre>
<h3>ETL Süreçlerinde Verilerin Kaydedilmesi</h3>
<p>Parçalanan veriler sıralı olarak bir tabloya kaydedilebilir:</p>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>CREATE TABLE #Temp (
    ID INT,
    Value NVARCHAR(50),
    Ordinal INT
);

INSERT INTO #Temp (ID, Value, Ordinal)
SELECT 1, value, ordinal 
FROM STRING_SPLIT('Ali,Veli,Ahmet', ',', 1);</code></pre>
<h3>Örnek Senaryo: Kullanıcı Girdisi ile Dinamik Veri İşleme</h3>
<p>Bir kullanıcıdan alınan virgülle ayrılmış bir dizi isimle işlem yapalım:</p>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>DECLARE @Names NVARCHAR(MAX) = 'Ali,Veli,Ahmet,Mehmet';
SELECT value, ordinal 
FROM STRING_SPLIT(@Names, ',', 1)
WHERE ordinal % 2 = 0; -- Sadece çift sıralı isimleri al</code></pre>
<p>Bu sorgu, yalnızca çift sıralı isimleri döndürür (Veli ve Mehmet).</p>
<h2 id="performans-ipuclari">4. Performansı Artırmak İçin İpuçları</h2>
<ol>
<li><strong>Sıralama Gereksinimi Olan Veriler İçin <strong>ordinal</strong> Kullanın:</strong> SQL Server 2022 öncesi sürümlerde sıralama eklemek için ek işlemler gerekiyordu. <strong>ordinal</strong> özelliği, bu ek yükü ortadan kaldırarak sorgu performansını artırır.</li>
<li><strong>Büyük Veri Kümelerinde STRING_SPLIT:</strong> STRING_SPLIT, büyük metin kümelerinde oldukça hızlı çalışır. Ancak işlem yoğunluğu olan durumlarda <strong>ordinal</strong> sütununu kullanmak, ek sıralama maliyetlerini düşürür.</li>
<li><strong>Alternatif Çözümlerle Karşılaştırın:</strong> STRING_SPLIT fonksiyonu yeterli olmadığında, XML tabanlı yaklaşımlar gibi diğer çözümleri değerlendirin. Ancak çoğu durumda 2022 sürümü, performans açısından daha avantajlıdır.</li>
</ol>
<h2 id="sss">5. STRING_SPLIT Hakkında Sık Sorulan Sorular</h2>
<h3>Eski SQL Server sürümlerinde sıralama nasıl eklenir?</h3>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>WITH CTE AS (
    SELECT value 
    FROM STRING_SPLIT('Ali,Veli,Ahmet', ',')
)
SELECT value, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS ordinal
FROM CTE;</code></pre>
<h3>Ordinal sütunu kullanımı zorunlu mu?</h3>
<p>Hayır, <strong>ordinal </strong> sütunu opsiyoneldir. Eğer sıralama bilgisi gerekmiyorsa, eski sürümlerdeki gibi kullanabilirsiniz:</p>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>SELECT value 
FROM STRING_SPLIT('Ali,Veli,Ahmet', ',');</code></pre>
<h3>Hangi durumlarda STRING_SPLIT yerine başka yöntemler tercih edilmeli?</h3>
<p>Eğer metin içinde birden fazla ayırıcı ile işlem yapmanız gerekiyorsa ya da çok karmaşık veri manipülasyonları yapacaksanız, STRING_SPLIT yerine XML veya JSON tabanlı yöntemler daha uygun olabilir.</p>
<h2>Sonuç</h2>
<p>SQL Server 2022 ile STRING_SPLIT fonksiyonuna eklenen <strong>ordinal</strong> sütunu, metin işleme işlemlerinde önemli bir geliştirme sunuyor. Bu yenilik, verilerin sıralama bilgisiyle birlikte işlenmesini kolaylaştırıyor ve daha hızlı sorgular yazılmasına olanak tanıyor.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar ve kolaylıklar dilerim!</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 15</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server&#8217;da Pisagor Üçlülerini Bulan Fonksiyon</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-pisagor-uclulerini-bulan-fonksiyon</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Mon, 27 Nov 2023 10:15:33 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Fonksiyonlar]]></category>
		<category><![CDATA[T-SQL Sorguları]]></category>
		<category><![CDATA[Pisagor Sorguları]]></category>
		<category><![CDATA[Pisagor Üçlüleri SQL]]></category>
		<category><![CDATA[SQL Performans Tuning]]></category>
		<category><![CDATA[SQL Server ile Geometri]]></category>
		<category><![CDATA[SQL Server Matematik Fonksiyonları]]></category>
		<category><![CDATA[Veritabanında Pisagor Üçlüleri]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=16743</guid>

					<description><![CDATA[1. Pisagor Üçlülerine Genel Bakış 2. Fonksiyonun Tanıtımı 3. Fonksiyonun Kullanım Alanları 4. Performans Optimizasyonu 5. Sık Sorulan Sorular 6. Sonuç 1. Pisagor Üçlülerine Genel...]]></description>
										<content:encoded><![CDATA[<table class="table table-bordered">
<tbody>
<tr>
<td style="text-align: left;">1. <a href="#pisagor-ucgenlerine-genel-bakis">Pisagor Üçlülerine Genel Bakış</a></td>
</tr>
<tr>
<td style="text-align: left;">2. <a href="#fonksiyonun-tanıtımı">Fonksiyonun Tanıtımı</a></td>
</tr>
<tr>
<td style="text-align: left;">3. <a href="#fonksiyonun-kullanım-alanları">Fonksiyonun Kullanım Alanları</a></td>
</tr>
<tr>
<td style="text-align: left;">4. <a href="#performans-optimizasyonu">Performans Optimizasyonu</a></td>
</tr>
<tr>
<td style="text-align: left;">5. <a href="#sss">Sık Sorulan Sorular</a></td>
</tr>
<tr>
<td style="text-align: left;">6. <a href="#sonuc">Sonuç</a></td>
</tr>
</tbody>
</table>
<h2 id="pisagor-ucgenlerine-genel-bakis">1. Pisagor Üçlülerine Genel Bakış</h2>
<p>Pisagor üçlüleri, özellikle geometri ve sayı teorisi alanında sıkça karşılaşılan bir kavramdır. En bilinen örneklerden biri (3, 4, 5) üçlüsüdür. Bu üçlü, bir dik üçgenin kenar uzunluklarını temsil eder ve a² + b² = c² eşitliğini sağlar. Pisagor üçlüleri, mühendislik, mimarlık ve bilgisayar bilimleri gibi birçok alanda kullanılmaktadır.</p>
<h2 id="fonksiyonun-tanitimi">2. Fonksiyonun Tanıtımı</h2>
<p>SQL Server&#8217;da Pisagor üçlülerini bulmak için aşağıdaki fonksiyonu kullanabilirsiniz. Bu fonksiyon, belirli bir sayıya kadar olan Pisagor üçlülerini hesaplar:</p>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>
CREATE FUNCTION dbo.PisagorUcluleriniBul(@Sayi INT)
RETURNS TABLE
AS
RETURN
(
    WITH Sayilar AS
    (
        SELECT 
            a.Number AS 'A',
            b.Number AS 'B',
            c.Number AS 'C'
        FROM 
            (SELECT TOP (@Sayi) ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS Number FROM sys.objects) a
            CROSS JOIN 
            (SELECT TOP (@Sayi) ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS Number FROM sys.objects) b
            CROSS JOIN 
            (SELECT TOP (@Sayi) ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS Number FROM sys.objects) c
    )
    SELECT 
        A,
        B,
        C
    FROM 
        Sayilar
    WHERE 
        A &lt; B AND B &lt; C
        AND A * A + B * B = C * C
);
    </code></pre>
<h2 id="fonksiyonun-kullanim-alanlari">3. Fonksiyonun Kullanım Alanları</h2>
<p>Fonksiyonu kullanmak için aşağıdaki sorguyu çalıştırabilirsiniz:</p>
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>
SELECT * FROM dbo.PisagorUcluleriniBul(50);
    </code></pre>
<p>Bu sorgu, 1 ile 50 arasındaki Pisagor üçlülerini içeren bir sonuç kümesi döndürecektir. Örneğin, aşağıdaki gibi bir çıktı görebilirsiniz:</p>
<table class="table table-bordered">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</thead>
<tbody>
<tr>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>5</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>8</td>
<td>15</td>
<td>17</td>
</tr>
<tr>
<td>&#8230;</td>
<td>&#8230;</td>
<td>&#8230;</td>
</tr>
</tbody>
</table>
<h2 id="performans-optimizasyonu">4. Performans Optimizasyonu</h2>
<p>Pisagor üçlülerini bulmak için kullanılan algoritmaların performansını artırmak, büyük veri setleri ile çalışırken kritik öneme sahiptir. Örneğin, üçlüleri bulmak için döngülerin ve koşullu ifadelerin optimize edilmesi, işlem süresini önemli ölçüde azaltabilir. Ayrıca, gereksiz hesaplamalardan kaçınmak için filtreleme işlemlerini önceden yapmak da faydalı olacaktır.</p>
<h2 id="sss">5. Sık Sorulan Sorular</h2>
<ul>
<li><strong>Pisagor üçlüleri nasıl bulunur?</strong> Pisagor üçlüleri, genellikle iki pozitif tam sayının karelerinin toplamının bir başka pozitif tam sayının karesine eşit olduğu durumlarda bulunur. Örneğin, (m² &#8211; n², 2mn, m² + n²) formülü ile üretilebilir.</li>
<li><strong>Pisagor üçlüleri sadece tam sayılarla mı sınırlıdır?</strong> Evet, Pisagor üçlüleri pozitif tam sayılarla tanımlanır.</li>
<li><strong>Pisagor üçlüleri nerelerde kullanılır?</strong> Geometri, mühendislik, bilgisayar bilimleri ve oyun geliştirme gibi birçok alanda kullanılır.</li>
</ul>
<h2 id="sonuc">6. Sonuç</h2>
<p>SQL Server&#8217;da Pisagor üçlülerini bulmak için oluşturduğumuz fonksiyon, matematiksel problemlerin çözümünde ve veri analizi süreçlerinde oldukça kullanışlıdır. Bu tür fonksiyonlar, hem teorik hem de pratik matematikte önemli bir avantaj sağlar. Pisagor üçlülerinin anlaşılması, çeşitli uygulamalarda daha etkili çözümler geliştirmeye yardımcı olabilir.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar ve kolaylıklar dilerim!</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 224</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
