Konstanta (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform 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.
Catatan
Istilah konstanta dalam pengembangan aplikasi dan konsep konstanta dalam Transact-SQL (T-SQL) tidak sama. Tidak ada cara khusus untuk menetapkan nilai statis global dalam T-SQL. Konstanta dalam T-SQL setara dengan nilai literal string.
Konstanta string karakter
Konstanta string karakter diapit dalam tanda kutip tunggal dan menyertakan karakter alfanumerik (a
z
-,-Z
A
, dan9
0
- ) dan karakter khusus, seperti tanda seru (!
), tanda tanda (@
), dan tanda angka ().#
Konstanta string karakter diberi kolase default database saat ini. Jika klausul COLLATE digunakan, konversi ke halaman kode default database masih terjadi sebelum konversi ke kolas yang ditentukan oleh klausa COLLATE. String karakter yang di ketik oleh pengguna dievaluasi melalui halaman kode komputer dan diterjemahkan ke halaman kode default database jika diperlukan.
Catatan
Ketika kolase berkemampuan UTF8 ditentukan menggunakan klausul 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 dengan tidak ada 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 di ketikkan sebagai data varchar(maks ).
Untai (karakter) Unicode
String Unicode memiliki format yang mirip dengan string karakter, tetapi diawali dengan N
pengidentifikasi (N adalah singkatan dari Bahasa Nasional dalam standar SQL-92).
Penting
N
Awalan 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 kolajeksi. Kolate ini terutama mengontrol perbandingan dan sensitivitas kasus. Konstanta Unicode diberi kolase default database saat ini. Jika klausul COLLATE digunakan, konversi ke kolas default database masih terjadi sebelum konversi ke kolas yang ditentukan oleh klausul COLLATE. Untuk informasi selengkapnya, lihat Dukungan Kolate dan Unicode.
Konstanta string Unicode mendukung kolase yang ditingkatkan.
Catatan
Konstanta Unicode yang lebih besar dari 8000 byte diketik sebagai data nvarchar(maks ).
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 di ketikkan sebagai data varbinary(maks ).
bit
Konstanta
konstanta bit diwakili oleh angka 0
atau 1
, dan tidak diapit dalam tanda kutip. Jika angka yang lebih besar dari 1
yang digunakan, angka tersebut dikonversi ke 1
.
datetime
Konstanta
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'
integer
Konstanta
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; konstanta tidak boleh berisi desimal.
Berikut ini adalah contoh konstanta bilangan bulat :
1894
2
decimal
Konstanta
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 real
konstanta
float dan konstanta nyata diwakili dengan menggunakan notasi ilmiah.
Berikut ini adalah contoh float atau nilai nyata :
101.5E5
0.5E-2
money
Konstanta
konstanta uang direpresentasikan 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 string harfiah yang ditransmisikan ke jenis data uang .
Berikut ini adalah contoh konstanta uang :
$12
$542023.14
$-23
uniqueidentifier
Konstanta
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
Tentukan 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 saat +
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 ditingkatkan
Mesin Database mendukung karakter dan konstanta string Unicode yang mendukung kolase yang ditingkatkan. Untuk informasi selengkapnya, lihat klausa COLLATE (Transact-SQL).