Megosztás a következőn keresztül:


Konstansok (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Az állandó, más néven konstans vagy skaláris érték egy adott adatértéket jelképező szimbólum. Az állandó formátuma az általa képviselt érték adattípusától függ.

Note

Az alkalmazásfejlesztésben állandó kifejezés és a Transact-SQL (T-SQL) állandó fogalma nem azonos. A T-SQL-ben nincs konkrét módszer globális statikus érték beállítására. A T-SQL konstansai a sztringkonstansértékek megfelelői.

Karaktersztring-állandók

A karaktersztring-állandók egy idézőjelek közé vannak foglalva, és alfanumerikus karaktereket (a-z, A-Zés 0-9) és speciális karaktereket tartalmaznak, például felkiáltójelet (!), az előjelet (@) és a számjelet (#). A karaktersztring-állandók az aktuális adatbázis alapértelmezett rendezési eleméhez vannak rendelve. Ha a COLLATE záradékot használja, az adatbázis alapértelmezett kódlapjának konvertálása még a COLLATE záradék által megadott rendezésre való átalakítás előtt történik. A felhasználók által beírt karaktersztringek kiértékelése a számítógép kódlapján történik, és szükség esetén az adatbázis alapértelmezett kódlapjára lesz lefordítva.

Note

Ha egy UTF8-kompatibilis rendezési a COLLATE záradékkal van megadva, az adatbázis alapértelmezett kódlapjára való konvertálás még a COLLATE záradékban megadott rendezésre való konvertálás előtt is megtörténik. A konvertálás nem történik meg közvetlenül a megadott Unicode-kompatibilis rendezésre. További információ: Unicode-sztring.

Ha a QUOTED_IDENTIFIER beállítás ki van kapcsolva egy kapcsolathoz, a karaktersztringek idézőjelek közé is csatolhatók, de az SQL Server Microsoft OLE DB-illesztőprogramja és AZ SQL Server ODBC-illesztőprogramja automatikusan . Javasoljuk, hogy egyetlen idézőjelet használjunk.

Ha egy idézőjelek közé zárt karaktersztring beágyazott idézőjelet tartalmaz, akkor a beágyazott idézőjelet két önálló idézőjellel jelölheti. Ez nem kötelező a kettős idézőjelekbe ágyazott sztringekben.

Az alábbiakban példákat láthat a karaktersztringekre:

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

Az üres sztringek két idézőjelként jelennek meg, amelyek között nincs különbség. 6.x kompatibilitási módban az üres sztringek egyetlen szóközként lesznek kezelve.

A karaktersztring-állandók támogatják a továbbfejlesztett rendezéseket.

Note

A 8000 bájtnál nagyobb karakterállandók varchar(max) adatokként vannak begépelve.

Unicode stringek

A Unicode-sztringek formátuma a karaktersztringekhez hasonló, de N azonosítóval van előtagolva (az N az SQL-92 szabvány nemzeti nyelvét jelenti).

Important

A N előtagnak nagybetűsnek kell lennie.

A 'Michél' például egy karakterállandó, míg N'Michél' Unicode-állandó. A Unicode-állandók Unicode-adatokként vannak értelmezve, és nem kódlap használatával lesznek kiértékelve. A Unicode-állandóknak van rendezésük. Ez a rendezés elsősorban az összehasonlítást és a kis- és nagybetűk érzékenységét szabályozza. A Unicode-állandók az aktuális adatbázis alapértelmezett rendezési eleméhez vannak rendelve. Ha a COLLATE záradékot használja, az adatbázis alapértelmezett rendezésre való konvertálása még a COLLATE záradék által megadott rendezésre való átalakítás előtt történik. További információ: rendezés és Unicode-támogatás.

A Unicode-sztringállandók támogatják a továbbfejlesztett rendezéseket.

Note

A 8000 bájtnál nagyobb Unicode-állandók nvarchar(max) adatokként vannak begépelve.

Bináris állandók

A bináris állandók 0x előtaggal rendelkeznek, és hexadecimális számok sztringjei. Ezek nincsenek idézőjelek közé zárva.

A következő példák bináris sztringekre mutatnak be:

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

Note

A 8000 bájtnál nagyobb bináris állandók varbinary(max) adatokként vannak begépelve.

Boole-állandók

A logikai (bit) állandókat az 0 vagy 1számok jelölik, és nem idézőjelek közé vannak zárva. Ha egy 1-nél nagyobb számot használ, az 1lesz átalakítva.

Dátum-idő állandók

dátum/idő állandók karakterdátumértékekkel jelennek meg adott formátumban, idézőjelek közé zárva.

Az alábbi példák datetime állandókra:

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

A dátum/idő állandók például a következők:

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

Egész szám állandók

Az egész szám (int) állandókat olyan számok sztringje jelöli, amelyek nem idézőjelek közé vannak zárva, és nem tartalmaznak tizedesvesszőket. int állandóknak egész számoknak kell lenniük; nem tartalmazhatnak decimális értékeket.

Az alábbi példák int állandókra:

1894
2

Tizedes állandók

decimális állandókat olyan számok sztringje jelöli, amelyek nem idézőjelek közé vannak zárva, és tizedesvesszőt tartalmaznak.

Az alábbiakban példákat láthat decimális állandókra:

1894.1204
2.0

Lebegőpontos állandók

lebegőpontos és valós állandók tudományos jelöléssel jelennek meg.

Az alábbiakban példákat láthat lebegőpontos vagy valós értékekre:

101.5E5
0.5E-2

Pénzállandók

pénz állandók számok sztringjeként jelennek meg, választható tizedesvesszővel és előtagként választható pénznemszimbólummal. pénz állandók nincsenek idézőjelek közé zárva.

Az SQL Server nem kényszerít semmilyen csoportosítási szabályt, például egy vessző (,) beszúrását a pénznek számító sztringek három számjegyeként.

Note

A vesszőket a sztringkonstans bárhol figyelmen kívül hagyja, amely a pénz adattípusra kerül.

Az alábbi példák pénz állandókra:

$12
$542023.14
$-23

GUID állandók

uniqueidentifier állandók GUID-t képviselő sztringek. Ezek karakter- vagy bináris sztringformátumban is megadhatóak.

A következő példák ugyanazt a GUID-t adják meg:

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

Negatív és pozitív számok megadása

Annak jelzéséhez, hogy egy szám pozitív vagy negatív-e, alkalmazza a + vagy - nem ismétlődő operátorokat egy numerikus állandóra. Ez létrehoz egy numerikus kifejezést, amely az aláírt numerikus értéket jelöli. A numerikus állandók akkor használnak pozitív értéket, ha a + vagy - nem ismétlődő operátorok nincsenek alkalmazva.

Aláírt int kifejezések:

+145345234
-2147483648

Aláírt decimális kifejezések:

+145345234.2234
-2147483648.10

Aláírt lebegőpontos kifejezések:

+123E-3
-12E5

Aláírt pénz kifejezések:

-$45.56
+$423456.99

Fokozott összeállítások

Az adatbázismotor támogatja a karakter- és Unicode-sztringállandókat, amelyek támogatják a továbbfejlesztett rendezéseket. További információ: COLLATE záradék.