Bu yazıda, SQL string fonksiyonları ile nasıl çalışılacağını tartışacağız ve kavramları basit bir şekilde örneklerle açıklayacağız. Umarım bu yazı, yeni başlayanlar için temel kavramı anlamalarına yardımcı olacaktır.
Konu içerisinde inceleyeceğimiz fonksiyonlar aşağıdaki gibidir.
- ASCII()
- CHAR()
- CHARINDEX()
- DATALENGTH()
- LEFT()
- LEN()
- LOWER()
- LTRIM()
- REPLACE()
- RIGHT()
- RTRIM()
- STUFF()
- SUBSTRING()
- UPPER ()
- REVERSE()
ASCII ()
ASCII işlevi, bir dizenin en soldaki karakterinin sayısal değerlerini döndürür.
Örnek :
DECLARE @Name varchar(30)
SET @Name = ‘CAGLAR’
SELECT ASCII(@Name) AS NAME
GO
DECLARE @Name varchar(30)
SET @Name = ‘C’
SELECT ASCII(@Name) AS NAME
GO
DECLARE @Name varchar(30)
SET @Name = ‘ÇAĞLAR’
SELECT ASCII(@Name) AS NAME
Resim-1
CHAR ()
Char işlevi, sayıya göre ASCII karakterini döndürür.
Örnek;
DECLARE @CHAR AS INT
SET @CHAR = 67
SELECT CHAR(@CHAR) AS CHARACTER
GO
DECLARE @CHAR AS INT
SET @CHAR = 199
SELECT CHAR(@CHAR) AS CHARACTER
Resim-2
CHARINDEX ()
CHARINDEX işlevi bir aranan değerin kaçıncı sırada olduğunu gösterir.
Örnek;
select CHARINDEX(‘@’, ‘caglarozenc@gmail.com’) As CHARINDEX
Resim-3
CONCAT ()
CONCAT işlevi, iki veya daha fazla dizenin birleşiklerini birlikte döndürür.
Örnek;
DECLARE @Str1 varchar(30), @Str2 varchar(30)
SET @Str1 = ‘Database’
SET @Str2 = ‘Administrator ‘
SELECT CONCAT(@Str2, @Str1) AS Result
Resim-4
DATALENGTH()
DATALENGTH işlevi bir ifadenin uzunluğunu döndürür (bayt cinsinden)
Örnek;
DECLARE @Str1 nvarchar(30), @Str2 varchar(30)
SET @Str1 = ‘DBA’
SET @Str2 = ‘DBA’
SELECT DATALENGTH(@Str1) AS Result, DATALENGTH(@Str2) AS Result2
Resim-5
LEFT()
Left işlevi bir ifadenin solundan belirtilen değer kadar alınmasını sağlar.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Çağlar Özenç’
SELECT LEFT(@Name,6) AS LeftPart
Resim-6
LEN()
Len işlevi bir ifadenin kaç karakter olduğunu döndürür.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Çağlar Özenç’
SELECT LEN(@Name) AS Length
Resim-7
LOWER()
Lower işevli bir ifadeyi küçük harfe çevirir.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Çağlar Özenç’
SELECT lower(@Name) AS lower
Resim-8
LTRIM()
Ltrim işlevi bir ifadenin solundaki boşlukları temizler.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘ Çağlar Özenç’
SELECT LTRIM(@Name) AS Result
Resim-9
REPLACE()
Replace işlevi bir ifadenin içerisinde değişiklik yapmanızı sağlar.
DECLARE @Str1 varchar(30), @Str2 varchar(30)
SET @Str1 = ‘Database’
SET @Str2 = ‘Database Administrator’
SELECT REPLACE(@Str1, @Str1, @Str2) AS Result
Resim-10
RIGHT()
Right işlevi bir ifadenin sağ tarafından kaç karakter alacağınızı seçmenizi sağlar. Left işlevinin tersi görevini görür.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Database Administrator’
SELECT RIGHT(@Name,13) AS Result
Resim-11
RTRIM()
Rtrim işevi, ltrimin tersi görevi görür. İfadenin sağ tarafındaki boşlukları temizler.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Database Administrator ‘
SELECT RTRIM(@Name) AS rtrim
Resim-12
STUFF()
STUFF işlevi Bir ifadeden bir dizi karakter siler ve sonra belirli bir konumdan başlayarak dizeye başka bir karakter dizisi ekler.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Database Administrator’
SELECT STUFF(@Name, Len(‘Database’)+1,LEN(@Name)+1,’ Engineer’) AS Result
Resim-13
SUBSTRING()
Substring işlevi bir ifadeden istediğiniz parçayı almanızı sağlar.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Database Administrator’
SELECT SUBSTRING(@Name,0,Len(‘Database’)+1) AS Result
Resim-14
UPPER ()
Upper işlevi, lower işlevinin tam tersidir. İfadeyi büyük harfe çevirir
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Database Administrator’
SELECT UPPER(@Name) AS Upper
Resim-15
REVERSE()
Reverse işlevi, ifadeyi tersten yazdırır.
Örnek;
DECLARE @Name varchar(30)
SET @Name = ‘Database Administrator’
SELECT REVERSE(@Name) AS NAME
Resim-16
SQL Server 2017 ile gelen farklı string fonksiyonlarda mevcut, bunlarıda farklı bir makalede ele alıyor olacağız.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar:
TAGs:sql, sql metin fonksiyonları, SQL Server, sql server metinsel işlemler, sql server string functions