Delen via


Letterlijke gegevens (entiteits-SQL)

In dit onderwerp wordt entiteits-SQL-ondersteuning voor letterlijke gegevens beschreven.

Null

De letterlijke waarde null wordt gebruikt om de waarde null voor elk type weer te geven. Een letterlijke waarde van null is compatibel met elk type.

Getypte null-waarden kunnen worden gemaakt door een cast over een letterlijke waarde van null. Zie CAST voor meer informatie.

Zie Null-letterlijke waarden en Type deductie voor regels over waar vrije zwevende null-letterlijke waarden kunnen worden gebruikt.

Booleaanse waarde

Booleaanse letterlijke waarden worden vertegenwoordigd door de trefwoorden true en false.

Geheel getal

Letterlijke waarden voor gehele getallen kunnen van het type Int32 zijn of Int64. Een Int32 letterlijke waarde is een reeks numerieke tekens. Een Int64 letterlijke waarde is een reeks numerieke tekens, gevolgd door een hoofdletter L.

Decimal

Een vast puntnummer (decimaal) is een reeks numerieke tekens, een punt (.) en een andere reeks numerieke tekens, gevolgd door een hoofdletter 'M'.

Float, Double

Een drijvende komma met dubbele precisie is een reeks numerieke tekens, een punt (.) en een andere reeks numerieke tekens, mogelijk gevolgd door een exponent. Een drijvendekommagetal (of float) met één precisie is een syntaxis van drijvende kommanummers met dubbele precisie, gevolgd door de kleine letter f.

String

Een tekenreeks is een reeks tekens tussen aanhalingstekens. Aanhalingstekens kunnen beide enkele aanhalingstekens () of beide dubbele aanhalingstekens ('") zijn. Letterlijke tekenreeksen kunnen Unicode of niet-Unicode zijn. Als u een letterlijke tekenreeks als Unicode wilt declareren, moet u de letterlijke tekst vooraf laten gaan door een hoofdletter 'N'. De standaardwaarde is letterlijke tekenreeksen die niet uit Unicode bestaan. Er kunnen geen spaties zijn tussen de nettolading N en de letterlijke tekenreeks en de N moet hoofdletters bevatten.

'hello' -- non-Unicode character string literal
N'hello' -- Unicode character string literal
"x"
N"This is a string!"
'so is THIS'

Datum en tijd

Een letterlijke datum/tijd is onafhankelijk van landinstellingen en bestaat uit een datumonderdeel en een tijdgedeelte. Zowel datum- als tijdonderdelen zijn verplicht en er zijn geen standaardwaarden.

Het datumgedeelte moet de notatie hebben: YYYYDD--MM, waarbij YYYY een waarde van vier cijfers tussen 0001 en 9999 ligt, MM is de maand tussen 1 en 12 en DD de dagwaarde die geldig is voor de opgegeven maand.MM

Het tijdgedeelte moet de notatie hebben: :HHMM[:SS[.fffffff]], waarbij HH de uurwaarde tussen 0 en 23 ligt, MM de minuutwaarde tussen 0 en 59 is, SS is de tweede waarde tussen 0 en 59 en fffffff de breuk tweede waarde tussen 0 en 9999999. Alle waardebereiken zijn inclusief. Fractionele seconden zijn optioneel. Seconden zijn optioneel, tenzij fractionele seconden worden opgegeven; in dit geval zijn seconden vereist. Wanneer seconden of fractionele seconden niet worden opgegeven, wordt in plaats daarvan de standaardwaarde van nul gebruikt.

Er kan een willekeurig aantal spaties zijn tussen het DATUM/TIJD-symbool en de letterlijke nettolading, maar er zijn geen nieuwe regels.

DATETIME'2006-10-1 23:11'
DATETIME'2006-12-25 01:01:00.0000000' -- same as DATETIME'2006-12-25 01:01'

Tijd

Een letterlijke tijd is onafhankelijk van landinstellingen en bestaat alleen uit een tijdonderdeel. Het tijdgedeelte is verplicht en er is geen standaardwaarde. Deze moet de notatie UU:MM[:SS[.fffffff]] hebben, waarbij UU de uurwaarde tussen 0 en 23 is, MM de minuutwaarde tussen 0 en 59, SS de tweede waarde tussen 0 en 59 is en fffffff de tweede breukwaarde tussen 0 en 9999999. Alle waardebereiken zijn inclusief. Fractionele seconden zijn optioneel. Seconden zijn optioneel, tenzij fractionele seconden worden opgegeven; in dit geval zijn seconden vereist. Wanneer seconden of breuken niet worden opgegeven, wordt in plaats daarvan de standaardwaarde van nul gebruikt.

Er kan een willekeurig aantal spaties zijn tussen het tijdsymbool en de letterlijke nettolading, maar er zijn geen nieuwe regels.

TIME'23:11'
TIME'01:01:00.1234567'

DateTimeOffset

De letterlijke waarde datetimeoffset is onafhankelijk van landinstellingen en bestaat uit een datumgedeelte, een tijdgedeelte en een offsetdeel. Alle datum-, tijd- en offsetonderdelen zijn verplicht en er zijn geen standaardwaarden. Het datumgedeelte moet de notatie JJJJ-MM-DD hebben, waarbij JJJJ een jaarwaarde van vier cijfers is tussen 0001 en 9999, MM de maand tussen 1 en 12 is en DD de dagwaarde die geldig is voor de opgegeven maand. Het tijdgedeelte moet de notatie HH:MM[:SS[.fffffff]] hebben, waarbij UU de uurwaarde tussen 0 en 23 is, MM de minuutwaarde tussen 0 en 59, SS de tweede waarde tussen 0 en 59 is en fffffff de breuk tweede waarde tussen 0 en 9999999. Alle waardebereiken zijn inclusief. Fractionele seconden zijn optioneel. Seconden zijn optioneel, tenzij fractionele seconden worden opgegeven; in dit geval zijn seconden vereist. Wanneer seconden of breuken niet worden opgegeven, wordt in plaats daarvan de standaardwaarde van nul gebruikt. Het offsetdeel moet de notatie {+|-}UU:MM hebben, waarbij uu en MM dezelfde betekenis hebben als in het tijdgedeelte. Het bereik van de offset moet echter liggen tussen -14:00 en + 14:00

Er kan een willekeurig aantal spaties zijn tussen het symbool DATETIMEOFFSET en de letterlijke nettolading, maar er zijn geen nieuwe regels.

DATETIMEOFFSET'2006-10-1 23:11 +02:00'
DATETIMEOFFSET'2006-12-25 01:01:00.0000000 -08:30'

Notitie

Een geldige letterlijke entiteitswaarde voor SQL kan buiten de ondersteunde bereiken voor CLR of de gegevensbron vallen. Dit kan leiden tot een uitzondering

Binary

Een letterlijke binaire tekenreeks is een reeks hexadecimale cijfers gescheiden door enkele aanhalingstekens na het binaire trefwoord of het snelkoppelingssymbool X of x. Het snelkoppelingsymbool X is niet hoofdlettergevoelig. Een nul of meer spaties zijn toegestaan tussen het trefwoord binary en de binaire tekenreekswaarde.

Hexadecimale tekens zijn ook niet hoofdlettergevoelig. Als de letterlijke waarde bestaat uit een oneven aantal hexadecimale cijfers, wordt de letterlijke waarde uitgelijnd op het volgende zelfs hexadecimale cijfer door het voorvoegsel van de letterlijke waarde met een hexadecimaal nulcijfer te voorzien. Er is geen formele limiet voor de grootte van de binaire tekenreeks.

Binary'00ffaabb'
X'ABCabc'
BINARY    '0f0f0f0F0F0F0F0F0F0F'
X'' –- empty binary string

Guid

Een GUID letterlijke aanduiding vertegenwoordigt een wereldwijd unieke id. Het is een reeks die wordt gevormd door het trefwoordGUID, gevolgd door hexadecimale cijfers in de vorm die registerindeling wordt genoemd: 8-4-4-12 tussen enkele aanhalingstekens. Hexadecimale cijfers zijn niet hoofdlettergevoelig.

Er kan een willekeurig aantal spaties zijn tussen het GUID-symbool en de letterlijke nettolading, maar er zijn geen nieuwe regels.

Guid'1afc7f5c-ffa0-4741-81cf-f12eAAb822bf'
GUID  '1AFC7F5C-FFA0-4741-81CF-F12EAAB822BF'

Zie ook