Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Karmaşık bir ifade birden çok işleç içerdiğinde, işleç önceliği işlemlerin sırasını belirler. Yürütme sırası, sonuçta elde edilen değeri önemli ölçüde etkileyebilir.
İşleçler aşağıdaki tabloda gösterilen öncelik düzeylerine sahiptir. Daha yüksek düzeydeki bir işleç, daha düşük düzeydeki bir işleç öncesinde değerlendirilir. Aşağıdaki tabloda 1 en yüksek düzey, 8 ise en düşük düzeydir.
| Level | Operators |
|---|---|
| 1 |
~ (bit düzeyinde NOT) |
| 2 |
* (çarpma), / (bölme), % (modül) |
| 3 |
+(pozitif), - (negatif), + (toplama), + (birleştirme), - (çıkarma), (bit düzeyinde ), ^& (bit düzeyinde ANDhariç OR), (bit düzeyinde), <<| (bit düzeyinde ORsol kaydırma), >> (bit düzeyinde sağ kaydırma) |
| 4 |
=, >, <, >=, , <=, <>, !=, , !>( !< karşılaştırma işleçleri) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEEN, , IN, LIKE, OR, SOME |
| 8 |
= (atama) |
| Level | Operators |
|---|---|
| 1 |
~ (bit düzeyinde NOT) |
| 2 |
* (çarpma), / (bölme), % (modül) |
| 3 |
+(pozitif), - (negatif), + (toplama), + (birleştirme), - (çıkarma), (bit düzeyinde ), &^ (bit düzeyinde ANDözelOR), | (bit düzeyinde OR) |
| 4 |
=, >, <, >=, , <=, <>, !=, , !>( !< karşılaştırma işleçleri) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEEN, , IN, LIKE, OR, SOME |
| 8 |
= (atama) |
İfadedeki iki işleç aynı öncelik düzeyine sahip olduğunda, ifadedeki konumlarına bağlı olarak değerlendirme soldan sağa gerçekleşir. Örneğin, aşağıdaki SET deyimde kullanılan ifadede çıkarma işleci toplama işlecinden önce değerlendirilir.
DECLARE @MyNumber AS INT;
SET @MyNumber = 4 - 2 + 27;
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber;
İfadedeki işleçlerin tanımlı önceliğini geçersiz kılmak için parantezleri kullanın. Parantez içindeki her şey tek bir değer vermek üzere değerlendirilir. Bu parantezlerin dışındaki tüm işleçler bu değeri kullanabilir.
Örneğin, aşağıdaki SET deyimde kullanılan ifadede çarpma işleci toplama işlecinden daha yüksek önceliğe sahiptir. Çarpma işlemi önce değerlendirilir. İfade sonucu şeklindedir 13.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * 4 + 5;
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber;
Aşağıdaki SET deyimde kullanılan ifadede, parantezler önce toplamanın değerlendirilmesine neden olur. İfade sonucu şeklindedir 18.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * (4 + 5);
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber;
bir ifade iç içe parantezlere sahipse, önce en derin iç içe ifade değerlendirilir. Aşağıdaki örnek, ifadesi 5 - 3 en derin iç içe parantez kümesinde olan iç içe parantezler içerir. Bu ifade değerini 2verir. Ardından toplama işleci (+) bu sonucu 4değerine ekler ve değerini verir 6. Son olarak, 6 ifadesinin sonucunu 2vermek için ile çarpılır12.
DECLARE @MyNumber AS 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;