Aracılığıyla paylaş


Sabit (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft Fabric'te SQL Veritabanı

Sabit veya skaler değer olarak da bilinen sabit, belirli bir veri değerini temsil eden bir simgedir. Sabitin biçimi, temsil ettiği değerin veri türüne bağlıdır.

Note

Uygulama geliştirmede sabit terimi ve Transact-SQL (T-SQL) sabit kavramı aynı değildir. T-SQL'de genel statik değer ayarlamanın belirli bir yolu yoktur. T-SQL'deki sabitler, dize değişmez değerlerinin eşdeğeridir.

Karakter dizesi sabitleri

Karakter dizesi sabitleri tek tırnak içine alınır ve alfasayısal karakterler (a-z, A-Zve 0-9) ve ünlem işareti (!), işarette (@) ve sayı işareti (#) gibi özel karakterler içerir. Karakter dizesi sabitlerine geçerli veritabanının varsayılan harmanlaması atanır. COLLATE yan tümcesi kullanılırsa, veritabanı varsayılan kod sayfasına dönüştürme, COLLATE yan tümcesi tarafından belirtilen harmanlama dönüştürme işleminden önce yine gerçekleşir. Kullanıcılar tarafından yazılan karakter dizeleri, bilgisayarın kod sayfası üzerinden değerlendirilir ve gerekirse veritabanı varsayılan kod sayfasına çevrilir.

Note

UTF8 özellikli harmanlama COLLATE yan tümcesi kullanılarak belirtildiğinde, COLLATE yan tümcesi tarafından belirtilen harmanlama dönüştürme işleminden önce veritabanı varsayılan kod sayfasına dönüştürme işlemi yine gerçekleşir. Dönüştürme doğrudan belirtilen Unicode özellikli harmanlama için yapılmaz. Daha fazla bilgi için bkz. Unicode dize.

Bağlantı için QUOTED_IDENTIFIER seçeneği KAPALI olarak ayarlandıysa, karakter dizeleri çift tırnak içine de eklenebilir, ancak SQL Server için Microsoft OLE DB Sürücüsü ve SQL Server için ODBC Sürücüsü otomatik olarak SET QUOTED_IDENTIFIER ONkullanır. Tek tırnak işareti kullanmanızı öneririz.

Tek tırnak içine alınmış bir karakter dizesi eklenmiş tırnak işareti içeriyorsa, katıştırılmış tek tırnak işaretini iki tek tırnak işaretiyle temsil edin. Çift tırnak içine eklenmiş dizelerde bu gerekli değildir.

Karakter dizelerine örnekler aşağıda verilmiştir:

'Cincinnati'
'O''Brien'
'Process X is 50% complete.'
'The level for job_id: %d should be between %d and %d.'
"O'Brien"

Boş dizeler, aralarında hiçbir şey olmayan iki tek tırnak işareti olarak temsil edilir. 6.x uyumluluk modunda boş bir dize tek bir boşluk olarak değerlendirilir.

Karakter dizesi sabitleri,gelişmiş harmanlamalarını destekler.

Note

8000 bayttan büyük karakter sabitleri varchar(max) veri olarak yazılır.

Unicode dizileri

Unicode dizeleri karakter dizelerine benzer bir biçime sahiptir, ancak ön ekinde N tanımlayıcısı bulunur (N, SQL-92 standardında Ulusal Dil anlamına gelir).

Important

N ön eki büyük harf olmalıdır.

Örneğin, 'Michél' bir karakter sabiti, N'Michél' ise Unicode sabitidir. Unicode sabitleri Unicode verileri olarak yorumlanır ve kod sayfası kullanılarak değerlendirilmez. Unicode sabitlerinin harmanlaması vardır. Bu harmanlama öncelikle karşılaştırmaları ve büyük/küçük harf duyarlılığını denetler. Unicode sabitlerine geçerli veritabanının varsayılan harmanlaması atanır. COLLATE yan tümcesi kullanılırsa, veritabanı varsayılan harmanlama dönüştürmesi, COLLATE yan tümcesi tarafından belirtilen harmanlama dönüştürme işleminden önce yine de gerçekleşir. Daha fazla bilgi için bkz. Harmanlama ve Unicode Desteği.

Unicode dize sabitleri gelişmiş harmanlamaları destekler.

Note

8000 bayttan büyük Unicode sabitleri nvarchar(max) veri olarak yazılır.

İkili sabitler

İkili sabitler 0x önekine sahiptir ve onaltılık sayılardan oluşan bir dizedir. Tırnak içine alınmaz.

İkili dize örnekleri şunlardır:

0xAE
0x12Ef
0x69048AEFDD010E
0x (empty binary string)

Note

8000 bayttan büyük ikili sabitler varbinary(max) veri olarak yazılır.

Boolean sabitleri

Boole (bit) sabitleri 0 veya 1sayılarla temsil edilir ve tırnak içine alınmaz. 1'den büyük bir sayı kullanılırsa, 1dönüştürülür.

Tarih-saat sabitleri

datetime sabitleri, tek tırnak içine alınmış belirli biçimlerde karakter tarihi değerleri kullanılarak temsil edilir.

Aşağıda datetime sabitleri örnekleri verilmiştir:

'December 5, 1985'
'5 December, 1985'
'851205'
'12/5/98'

Tarih saat sabitlerine örnek olarak şunlar verilebilir:

'14:30:24'
'04:24 PM'

Tam sayı sabitleri

Integer (int) sabitleri, tırnak içine alınmamış ve ondalık ayırıcı içermeyen bir sayı dizesiyle gösterilir. int sabitleri tam sayı olmalıdır; ondalık içeremezler.

Aşağıda int sabitlerine örnekler verilmiştir:

1894
2

Ondalık sabitler

ondalık sabitleri, tırnak içine alınmamış ve ondalık nokta içeren bir sayı dizesiyle gösterilir.

Aşağıda ondalık sabitleri örnekler verilmiştir:

1894.1204
2.0

Kayan nokta sabitleri

float ve gerçek sabitleri bilimsel gösterimi kullanılarak temsil edilir.

Gerçek değerleri float veya örnekleri aşağıda verilmiştir:

101.5E5
0.5E-2

Para sabitleri

para sabitleri, isteğe bağlı ondalık ayırıcısı ve ön ek olarak isteğe bağlı para birimi simgesi olan sayı dizesi olarak temsil edilir. para sabitleri tırnak içine alınmaz.

SQL Server, parayı temsil eden dizelerde her üç basamağı virgül (,) ekleme gibi herhangi bir gruplandırma kuralını zorunlu kılmaz.

Note

Virgüller, para veri türüne aktarılan bir dize değişmez değeri içinde herhangi bir yerde yoksayılır.

Aşağıda para sabitleri örnekleri verilmiştir:

$12
$542023.14
$-23

GUID sabitleri

uniqueidentifier sabitleri GUID'yi temsil eden bir dizedir. Bunlar bir karakter veya ikili dize biçiminde belirtilebilir.

Aşağıdaki örneklerin her ikisi de aynı GUID'yi belirtir:

'6F9619FF-8B86-D011-B42D-00C04FC964FF'
0xff19966f868b11d0b42d00c04fc964ff

Negatif ve pozitif sayıları belirtme

Bir sayın pozitif mi yoksa negatif mi olduğunu belirtmek için + veya - tekli işleçleri sayısal sabite uygulayın. Bu, imzalı sayısal değeri temsil eden bir sayısal ifade oluşturur. Sayısal sabitler, + veya - tekli işleçler uygulanmadığında pozitif kullanır.

İmzalı int ifadeleri:

+145345234
-2147483648

İmzalı ondalık ifadeleri:

+145345234.2234
-2147483648.10

İmzalı float ifadeleri:

+123E-3
-12E5

İmzalı para ifadeleri:

-$45.56
+$423456.99

Geliştirilmiş derlemeler

Veritabanı Altyapısı, gelişmiş harmanlamaları destekleyen karakter ve Unicode dize sabitlerini destekler. Daha fazla bilgi için COLLATE yan tümcesine bakın.