Konstanta (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Konstanta, juga dikenal sebagai nilai harfiah atau skalar, adalah simbol yang mewakili nilai data tertentu. Format konstanta bergantung pada jenis data dari nilai yang diwakilinya.

Konstanta string karakter

Konstanta string karakter diapit dalam tanda kutip tunggal dan menyertakan karakter alfanumerik (a-z, A-Z, dan 0-9) dan karakter khusus, seperti tanda seru (!), tanda (@), dan tanda angka (#). Konstanta string karakter diberi kolase default database saat ini. Jika klausa COLLATE digunakan, konversi ke halaman kode default database masih terjadi sebelum konversi ke kolase yang ditentukan oleh klausa COLLATE. String karakter yang ditik oleh pengguna dievaluasi melalui halaman kode komputer dan diterjemahkan ke halaman kode default database jika diperlukan.

Catatan

Ketika kolase berkemampuan UTF8 ditentukan menggunakan klausa COLLATE, konversi ke halaman kode default database masih terjadi sebelum konversi ke kolase yang ditentukan oleh klausul COLLATE. Konversi tidak dilakukan langsung ke kolase berkemampuan Unicode yang ditentukan. Untuk informasi selengkapnya, lihat Untai (karakter) Unicode.

Jika opsi QUOTED_IDENTIFIER telah diatur NONAKTIF untuk koneksi, string karakter juga dapat diapit dalam tanda kutip ganda, tetapi Driver Microsoft OLE DB untuk SQL Server dan Driver ODBC untuk SQL Server secara otomatis menggunakan SET QUOTED_IDENTIFIER ON. Sebaiknya gunakan tanda kutip tunggal.

Jika string karakter yang diapit dalam tanda kutip tunggal berisi tanda kutip yang disematkan, mewakili tanda kutip tunggal yang disematkan dengan dua tanda kutip tunggal. Ini tidak diperlukan dalam string yang disematkan dalam tanda kutip ganda.

Berikut ini adalah contoh string karakter:

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

String kosong direpresentasikan sebagai dua tanda kutip tunggal tanpa apa pun di antaranya. Dalam mode kompatibilitas 6.x, string kosong diperlakukan sebagai spasi tunggal.

Konstanta string karakter mendukung kolase yang ditingkatkan.

Catatan

Konstanta karakter yang lebih besar dari 8000 byte ditik sebagai data varchar(max).

Untai (karakter) Unicode

String Unicode memiliki format yang mirip dengan string karakter tetapi didahului oleh pengidentifikasi N (N adalah singkatan dari Bahasa Nasional dalam standar SQL-92).

Penting

Awalan N harus huruf besar.

Misalnya, 'Michél' adalah konstanta karakter sementara N'Michél' adalah konstanta Unicode. Konstanta Unicode ditafsirkan sebagai data Unicode, dan tidak dievaluasi dengan menggunakan halaman kode. Konstanta Unicode memang memiliki kolae. Kolate ini terutama mengontrol perbandingan dan sensitivitas kasus. Konstanta Unicode diberi kolase default dari database saat ini. Jika klausa COLLATE digunakan, konversi ke kolater default database masih terjadi sebelum konversi ke kolater yang ditentukan oleh klausa COLLATE. Untuk informasi selengkapnya, lihat Kolajeasi dan Dukungan Unicode.

Konstanta string Unicode mendukung kolase yang ditingkatkan.

Catatan

Konstanta Unicode yang lebih besar dari 8000 byte diketik sebagai data nvarchar(max).

Konstanta biner

Konstanta biner memiliki awalan 0x dan merupakan string angka heksadesimal. Mereka tidak diapit dalam tanda kutip.

Berikut ini adalah contoh string biner adalah:

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

Catatan

Konstanta biner yang lebih besar dari 8000 byte ditik sebagai data varbinary(max).

konstanta bit

konstanta bit diwakili oleh angka 0 atau 1, dan tidak diapit dalam tanda kutip. Jika angka yang lebih besar dari satu digunakan, angka akan dikonversi menjadi satu.

konstanta tanggalwaktu

konstanta tanggalwaktu diwakili dengan menggunakan nilai tanggal karakter dalam format tertentu, diapit dalam tanda kutip tunggal.

Berikut ini adalah contoh konstanta tanggalwaktu :

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

Contoh konstanta tanggalwaktu adalah:

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

konstanta bilangan bulat

konstanta bilangan bulat diwakili oleh string angka yang tidak diapit dalam tanda kutip dan tidak berisi titik desimal. konstanta bilangan bulat harus berupa bilangan bulat; mereka tidak boleh mengandung desimal.

Berikut ini adalah contoh konstanta bilangan bulat :

1894  
2  

konstanta desimal

konstanta desimal diwakili oleh string angka yang tidak diapit dalam tanda kutip dan berisi titik desimal.

Berikut ini adalah contoh konstanta desimal :

1894.1204  
2.0  

float dan konstanta nyata

konstanta float dan nyata diwakili dengan menggunakan notasi ilmiah.

Berikut ini adalah contoh float atau nilai nyata :

101.5E5  
0.5E-2  

konstanta uang

konstanta uang dinyatakan sebagai string angka dengan titik desimal opsional dan simbol mata uang opsional sebagai awalan. konstanta uang tidak diapit dalam tanda kutip.

SQL Server tidak memberlakukan aturan pengelompokan apa pun seperti memasukkan koma (,) setiap tiga digit dalam string yang mewakili uang.

Catatan

Koma diabaikan di mana saja dalam literal uang yang ditentukan.

Berikut ini adalah contoh konstanta uang :

$12  
$542023.14  
$-23  

konstanta pengidentifikasi unik

konstanta pengidentifikasi unik adalah string yang mewakili GUID. Mereka dapat ditentukan dalam format karakter atau string biner.

Contoh berikut keduanya menentukan GUID yang sama:

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

Menentukan Angka Negatif dan Positif

Untuk menunjukkan apakah angka positif atau negatif, terapkan + operator atau - unary ke konstanta numerik. Ini membuat ekspresi numerik yang mewakili nilai numerik yang ditandatangani. Konstanta numerik menggunakan positif ketika + operator atau - unary tidak diterapkan.

Ekspresi bilangan bulat yang ditandatangani:

+145345234
-2147483648

Ekspresi desimal yang ditandatangani:

+145345234.2234
-2147483648.10

Ekspresi float yang ditandatangani:

+123E-3
-12E5

Ekspresi uang yang ditandatangani:

-$45.56
+$423456.99

Kolase yang Disempurnakan

Mesin Database mendukung karakter dan konstanta string Unicode yang mendukung kolase yang ditingkatkan. Untuk informasi selengkapnya, lihat klausa COLLATE (Transact-SQL ).

Lihat juga

Jenis Data (Transact-SQL)
Ekspresi (Transact-SQL)
Operator (Transact-SQL)Collation dan Unicode Support
Kolase Prioritas