SQL'de Operatörler
Sql operatörleriSQL’de de bir takım ifadeler ve operatörlere ihtiyaç duyulur. Yazılımda olduğu gibi matematiksel işaretlerin bir kısmı, bir takım mantıksal ifadeleri SQL ortamında da kullanmaktayız. Bunları örneklendirerek anlatmak istiyorum :
+ Operatörü : İki sayıyı ya da iki adet string ifadeyi toplamaya yarar.
select 5+12 as TOPLAM -- TOPLAM=17
select '5'+'12' as YAZDIR --YAZDIR =512 burada ' 'ile string olduğunu belirtiyoruz ve yan yana yazar.
– Operatörü : İki sayıyı birbirinden çıkarma işlemi için kullanılır.
* Operatörü : Bir sayıyı bir başka sayı ile çarpma için kullanılır.
/ Operatörü : Bir sayıyı bir diğer sayıya bölmek için kullanılır.
> Operatörü : Büyüktür operatörüdür. WHERE deyimi ile birlikte kullanılır, ilk değerin ikincisinden büyüklüğünü kontrol eder.
< Operatörü : Küçüktür operatörüdür. WHERE deyimi ile birlikte kullanılır, ilk değerin ikincisinden küçüklüğünü kontrol eder.
<= Operatörü : Küçük eşittir operatörüdür. WHERE deyimi ile birlikte kullanılır, ilk değerin ikincisinden küçüklüğünü ve ona eşitliğini kontrol eder.
= Operatörü : Eşitlik operatörüdür.
OR Operatörü : SELECT deyimi ile birlikte kullanılır. Veya anlamına gelir.
AND Operatörü : SELECT deyimi ile birlikte kullanılır. Belirtilen tüm durumların geçerli olmasını kontrol eder. Yani tüm şartlar sağlanmalıdır.
NOT Operatörü : LIKE deyiminin tersidir aslında. Bir durumum benzememe halini kontrol eder.
? , _ Operatörü : ? veya _ olarak kullanılabilir. Underscore karakter olarak bilinirler. Tek bir karakter yerine geçer
%, * Operatörü : * veya % olarak kullanılabilir. Birden fazla karakter yerine geçer.
like Operatörü : Bir metin içerisindeki belirlenen kaydı bulmak istediğimizde like ifadesi ile şart belirleyip ifade bulunur.
Örneğin Empoyees tablosunda adında 'ang' geçenleri çağıralım.
select * from Employees where FirstName like '%ang%'
şeklinde olur ki bunlarda ilgili tüm örnekleri ileriki aşamalarda göreceğiz.
CAST : ifadede dönüşüm işlemi uygulanacaksa Cast kullanılabilir.
select CAST ('123' as int0)+CAST('120' as int ) as SONUC --burada 123 ve 120 stringlerini int 'e çevirip topla dedik.
LOWER : Yazılan metni küçük harflere çevirir.
select LOWER ('OkTaYaLTaN') as kucukoldu
UPPER :Yazılan metni büyükharflere çevirir.
select UPPER ('OkTaYaLTaN') as buyukoldu
LTRIM : Metinde sol boşlukları sil.
select LTRIM (' OkTaYaLTaN')
RTRIM : Metinde sağ boşluğu sil
select RTRIM (' OkTaYaLTaN' )
SUBSTRING : Verilen metnin belirtilen karakterinden ,belirtilen uzunluğuna kadar olan parçasını alıyor.
select SUBSTRING ('SQL hayırlı olsun',4,14) -- Çıktımız metnin 4. karakterinden başlayıp 14 karakter daha alarak "hayırlı olsun" ifadesini yazdırır.
REPLACE : Verilen ifadede değişecek ifadeyi belirtip değiştirilecek ifade ile güncelleriz.
select REPLACE ('SQL hayırlı olsun','SQL','Geleceğin') -- burada SQL i silip onu Geleceğin olarak güncelleyip yazdırdık.
REVERSE : Ters Çevirme işlemi yapar
select REVERSE ('Oktay') as SONUC -- SONUC =yatkO olur.
MAX,MIN,AVG : Üçününde kullanımı aynıdır. Belirtilen kolondaki koşula göre değer döndürür.
select MAX(MAAS) -- Maaşı en yuksek olanı döndürür gibi.
COALESCE : Şöyle ki kolonun boş olup olmamasını kontrol ediyor, şayet boş ise belirtmiş olduğumuz bir başka kolonu yazabilir , yazacağımız kolonda boş ise default değer atayabileceğimiz bir operatördür. Aşağıdaki ilk sorgu sonucunda Priority,CompanyCode alanları NULL dır.
İkinci sorguda ise Priority NULL ise bu kolonda CompanyCode alanındaki değeri göster , CompanyCode te NULL ise defauly olarak BOŞ DATA yazdır diyoruz
SELECT OrderCode,Priority,CompanyCode,DocumenntNumber FROM [dbo].[Order] where OrderId=222
SELECT OrderCode,COALESCE(Priority,CompanyCode,'BOŞ DATA') as Priority ,CompanyCode,DocumenntNumber FROM [dbo].[Order] where OrderId=222
Örnekler :
SELECT REPLACE('SQL Deneme', 'SQL', 'Oracle') AS Result;
SELECT SUBSTRING('SQL Deneme', 1, 3) AS Result;
SELECT CHARINDEX('t', 'Customer') AS Result; -- t yi ilk bulduğu karakter sayısını verir
SELECT CHARINDEX('mer', 'Customer', 3) AS MatchPosition; -- kaçıncı karakterden sonra arayacağını belirtmek istersen
Hiç yorum yok:
Yorum Gönder