Delen via


Constanten (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-database in Microsoft Fabric

Een constante, ook wel een letterlijke of scalaire waarde genoemd, is een symbool dat een specifieke gegevenswaarde vertegenwoordigt. De notatie van een constante is afhankelijk van het gegevenstype van de waarde die deze vertegenwoordigt.

Notitie

De term constante bij het ontwikkelen van toepassingen en het concept van een constante in Transact-SQL (T-SQL) zijn niet hetzelfde. Er is geen specifieke manier om een globale statische waarde in te stellen in T-SQL. Constanten in T-SQL zijn het equivalent van letterlijke tekenreekswaarden.

Tekenreeksconstanten

Tekenreeksconstanten worden tussen enkele aanhalingstekens geplaatst en bevatten alfanumerieke tekens (a-z, A-Zen 0-9) en speciale tekens, zoals uitroepteken (!), bij teken (@) en nummerteken (#). Tekenreeksconstanten worden de standaardsortering van de huidige database toegewezen. Als de COLLATE-component wordt gebruikt, vindt de conversie naar de standaardcodepagina van de database nog steeds plaats voordat de conversie naar de sortering die is opgegeven door de COLLATE-component. Tekenreeksen die door gebruikers worden getypt, worden geëvalueerd via de codepagina van de computer en worden vertaald naar de standaardcodepagina van de database als dit nodig is.

Notitie

Wanneer een UTF8-sortering is opgegeven met behulp van de COLLATE-component, vindt de conversie naar de standaardcodepagina van de database nog steeds plaats voordat de conversie naar de sortering die is opgegeven door de COLLATE-component. De conversie wordt niet rechtstreeks uitgevoerd naar de opgegeven sortering met Unicode. Zie Unicode-tekenreeksvoor meer informatie.

Als de optie QUOTED_IDENTIFIER is ingesteld voor een verbinding, kunnen tekenreeksen ook tussen dubbele aanhalingstekens worden geplaatst, maar het Microsoft OLE DB-stuurprogramma voor SQL Server en ODBC-stuurprogramma voor SQL Server automatisch SET QUOTED_IDENTIFIER ONgebruiken. U wordt aangeraden enkele aanhalingstekens te gebruiken.

Als een tekenreeks tussen enkele aanhalingstekens een ingesloten aanhalingsteken bevat, geeft u het ingesloten enkele aanhalingsteken weer met twee enkele aanhalingstekens. Dit is niet vereist in tekenreeksen die zijn ingesloten tussen dubbele aanhalingstekens.

Hieronder ziet u voorbeelden van tekenreeksen:

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

Lege tekenreeksen worden weergegeven als twee enkele aanhalingstekens met niets ertussen. In de compatibiliteitsmodus 6.x wordt een lege tekenreeks behandeld als één spatie.

Tekenreeksconstanten ondersteunen verbeterde sorteringen.

Notitie

Tekenconstanten groter dan 8000 bytes worden getypt als varchar(max) gegevens.

Unicode-tekenreeksen

Unicode-tekenreeksen hebben een indeling die vergelijkbaar is met tekenreeksen, maar worden voorafgegaan door een N-id (N staat voor National Language in de STANDAARD SQL-92).

Belangrijk

Het voorvoegsel N moet hoofdletters bevatten.

'Michél' is bijvoorbeeld een tekenconstante terwijl N'Michél' een Unicode-constante is. Unicode-constanten worden geïnterpreteerd als Unicode-gegevens en worden niet geëvalueerd met behulp van een codepagina. Unicode-constanten hebben wel een sortering. Deze sortering bepaalt voornamelijk vergelijkingen en hoofdlettergevoeligheid. Unicode-constanten worden toegewezen aan de standaardsortering van de huidige database. Als de COLLATE-component wordt gebruikt, vindt de conversie naar de standaardsortering van de database nog steeds plaats voordat de conversie naar de sortering die is opgegeven door de COLLATE-component. Zie Sortering en Unicode-ondersteuningvoor meer informatie.

Unicode-tekenreeksconstanten ondersteunen verbeterde sorteringen.

Notitie

Unicode-constanten groter dan 8000 bytes worden getypt als nvarchar(max) gegevens.

Binaire constanten

Binaire constanten hebben het voorvoegsel 0x en zijn een tekenreeks met hexadecimale getallen. Ze staan niet tussen aanhalingstekens.

Hier volgen enkele voorbeelden van binaire tekenreeksen:

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

Notitie

Binaire constanten groter dan 8000 bytes worden getypt als varbinary(max) gegevens.

Booleaanse constanten

Booleaanse constanten (bit) worden vertegenwoordigd door de getallen 0 of 1en worden niet tussen aanhalingstekens geplaatst. Als een getal groter is dan 1 wordt gebruikt, wordt het geconverteerd naar 1.

Datum-tijdconstanten

datum/tijd- constanten worden vertegenwoordigd door tekendatumwaarden in specifieke notaties te gebruiken, tussen enkele aanhalingstekens.

Hier volgen voorbeelden van datum/tijd- constanten:

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

Voorbeelden van datum/tijd-constanten zijn:

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

Gehele getallen constanten

Gehele getallen (int) worden vertegenwoordigd door een reeks getallen die niet tussen aanhalingstekens staan en geen decimale punten bevatten. int constanten moeten gehele getallen zijn; ze mogen geen decimalen bevatten.

Hier volgen voorbeelden van int constanten:

1894
2

Decimale constanten

decimale constanten worden weergegeven door een reeks getallen die niet tussen aanhalingstekens staan en een decimaalteken bevatten.

Hier volgen voorbeelden van decimale constanten:

1894.1204
2.0

Constanten van drijvende komma

zwevende en echte constanten worden vertegenwoordigd met behulp van wetenschappelijke notatie.

Hier volgen voorbeelden van float- of echte waarden:

101.5E5
0.5E-2

Geldconstanten

geld constanten worden weergegeven als een reeks getallen met een optioneel decimaalteken en een optioneel valutasymbool als voorvoegsel. geld constanten worden niet tussen aanhalingstekens geplaatst.

SQL Server dwingt geen soort groeperingsregels af, zoals het invoegen van een komma (,) om de drie cijfers in tekenreeksen die geld vertegenwoordigen.

Notitie

Komma's worden overal in een letterlijke tekenreeks genegeerd die wordt omgezet in het geld gegevenstype.

Hier volgen enkele voorbeelden van geld constanten:

$12
$542023.14
$-23

GUID-constanten

uniqueidentifier constanten zijn een tekenreeks die een GUID vertegenwoordigt. Ze kunnen worden opgegeven in een teken- of binaire tekenreeksindeling.

In de volgende voorbeelden worden beide dezelfde GUID opgegeven:

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

Negatieve en positieve getallen opgeven

Als u wilt aangeven of een getal positief of negatief is, past u de + of - unaire operatoren toe op een numerieke constante. Hiermee maakt u een numerieke expressie die de ondertekende numerieke waarde vertegenwoordigt. Numerieke constanten gebruiken positief wanneer de + of - unaire operatoren niet worden toegepast.

Ondertekende expressies:

+145345234
-2147483648

Ondertekende decimale expressies:

+145345234.2234
-2147483648.10

Ondertekende float- expressies:

+123E-3
-12E5

Ondertekende geld- expressies:

-$45.56
+$423456.99

Verbeterde sorteringen

De database-engine ondersteunt teken- en Unicode-tekenreeksconstanten die uitgebreide sorteringen ondersteunen. Zie de component COLLATE voor meer informatie.