Aracılığıyla paylaş


İşleç önceliği (Transact-sql)

Karmaşık ifade birden çok işleç olduğunda, işleç önceliği işlemlerinin gerçekleştirildiği sırasını belirler. Yürütme sırasını, sonuç değeri olarak önemli ölçüde etkileyebilir.

İşleçler aşağıdaki tabloda gösterilen öncelik düzeylerine sahiptir. Önce alt düzeyde bir işleç işleç yüksek düzeyde değerlendirilir.

Level

İşleçler

1

~ (Bitwise not)

2

* (Çarpma), / (bölü) % (modül)

3

+ (Pozitif),-(negatif), + (Ekle), (+ bağlamak),-(çıkarma), & (Bitsel ve), ^ (Bitwise dışlayıcı or), | (Bit düzey veya)

4

=, >, <, >=, <=, <>, !=, !>, !< (Karşılaştırma işleçleri)

5

NOT

6

AND

7

BÜTÜN, TÜM, ARASINDA GİBİ YA DA, BAZI

8

= (Atama)

Bir ifadede iki işleç işleç önceliği düzeyde olduğunda, onlar soldan sağa ifadedeki konumlarına göre değerlendirilir. Örneğin, aşağıda, kullanılan ifade SETdeyimi, çıkarma operatörü değerlendirilen önce toplama işlecini.

DECLARE @MyNumber int
SET @MyNumber = 4 - 2 + 27
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber

DECLARE @MyNumber int
SET @MyNumber = 4 - 2 + 27
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber

Bir deyim işleçleri tanımlanmış önceliği geçersiz kılmak için parantez kullanın. Parantez içindeki her şeyi ilk önce tek bir değer değeri parantez dışında herhangi bir operatör tarafından kullanılabilir verim için değerlendirilir.

Örneğin, aşağıda, kullanılan ifade SETdeyimi, çarpma işleci vardır toplama operatörü daha yüksek öncelik. Bu nedenle, öncelikle değerlendirilir; ifade sonucu 13.

DECLARE @MyNumber int
SET @MyNumber = 2 * 4 + 5
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber

DECLARE @MyNumber int
SET @MyNumber = 2 * 4 + 5
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber

Sayfalarımızda kullanılan ifade SETdeyimi, parantez neden ilk kez gerçekleştirilecek bir ek. İfade sonucu 18.

DECLARE @MyNumber int
SET @MyNumber = 2 * (4 + 5)
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber

DECLARE @MyNumber int
SET @MyNumber = 2 * (4 + 5)
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber

Deyim parantez içinde geçmişse en iç içe ifadesi önce değerlendirilir. Aşağıdaki örnek ifade ile iç içe parantez içeren 5 - 3en derin iç içe geçmiş durumda olan parantez. Bu ifadenin değeri verir 2. Sonra toplama operatörü (+) bu sonuca ekler 4. Bu değeri verir 6. Son olarak, 6çarpılır 2bir ifadenin sonucunu vermeye 12.

DECLARE @MyNumber int
SET @MyNumber = 2 * (4 + (5 - 3) )
-- Evaluates to 2 * (4 + 2) which then evaluates to 2 * 6, and 
-- yields an expression result of 12.
SELECT @MyNumber

DECLARE @MyNumber int
SET @MyNumber = 2 * (4 + (5 - 3) )
-- Evaluates to 2 * (4 + 2) which then evaluates to 2 * 6, and 
-- yields an expression result of 12.
SELECT @MyNumber

Ayrıca bkz.

Başvuru

Mantıksal işleçler (Transact-sql)

İşleçler (Transact-sql)

Yerleşik İşlevler (Transact-SQL)