Merhaba, bu yazıda sizlere SQL Server’da kullanılan aritmetiksel operatörler hakkında bilgi vermeye çalışacağım, umarım faydasını görürsünüz…
Aritmetiksel Operatörler
-------------------
+ Operatörü
Toplama işlemi yapmak için kullanılır.
SELECT 2 + 9
(Sonuç: 11)
SELECT 2 + 9 + 14 + 32
(Sonuç: 57)
-------------------
- Operatörü
Çıkarma işlemi yapmak için kullanılır.
SELECT 88 - 14
(Sonuç: 74)
SELECT 15 - 18
(Sonuç: 3)
SELECT 6.92 - 12.154 AS ‘SONUC’
(Sonuç: -5.234)
-------------------
* Operatörü
Çarpma işlemi yapmak için kullanılır.
SELECT 0*5 AS ‘ÇARPIM1′
(Sonuç: 0)
SELECT 12*3 AS ‘ÇARPIM2′
(Sonuç: 36)
SELECT 3.9*5.22 AS ‘ÇARPIM3′
(Sonuç: 20.358)
-------------------
/ Operatörü
Bölme işlemi yapmak için kullanılır.
SELECT 12/3 AS ‘BÖLÜM1′
(Sonuç: 4)
SELECT 0/4 AS ‘BÖLÜM2′
(Sonuç: 0)
SELECT 3.9/5.22 AS ‘BÖLÜM3′
(Sonuç: 0.747126)
SELECT 11/0 AS ‘BÖLÜM4′
(Sıfıra bölünme hatası verir.)
Msg 8134, Level 16, State 1, Line 1
Divide by zero error encountered.
-------------------
Not: Dikkat edenler olmuştur, üs alma işleminden bahsetmedim.
Üs alma işlemi fonksiyon ile yapılmaktadır. (^ işaretini kullanarak
denedim ama sonuç alamadım, eğer bir şey bulursam onu da paylaşırım.)
POWER (ingilizcede matematik anlamı üs olarak geçer) fonksiyonunu
kullanarak üs alma işlemini yaparız.
SELECT POWER(2,3)
Yukarıdaki sorguyu çalıştırdığımızda bize 8 sonucunu verecektir.
-------------------
% Operatörü
Mod alma işlemini yapmak için kullanılır.
SELECT 5%3 AS ‘MOD’
(Sonuç: 2)
-------------------
Aritmetiksel Operatörlerde Öncelik Sırası
1 Üslü ifadeler
2 Parantez içindeki ifadeler
3 Çarpma ya da bölme
4 Toplama ya da çıkarma
Örnekler
SELECT (12+25/5-3)*((3-2)*(3+2)*(3*8/2))-5
Sonuç: 835
------------------
SELECT 0*0
Sonuç: 0
------------------
SELECT 99999999999999999999999999999999999999999999999-999999999999
Msg 1007, Level 15, State 1, Line 1
The number ’99999999999999999999999999999999999999999999999′ is out of the range for numeric representation (maximum precision 38).
------------------
SELECT 0.0000000000000000000000000000000000000000000000001*2
Msg 1007, Level 15, State 1, Line 1
The number ’0.0000000000000000000000000000000000000000000000001′ is out of the range for numeric representation (maximum precision 38).