Literały (Entity SQL)

W tym temacie opisano obsługę języka Entity SQL dla literałów.

Null (zero)

Literał null jest używany do reprezentowania wartości null dla dowolnego typu. Literał o wartości null jest zgodny z dowolnym typem.

Typizowane wartości null można utworzyć za pomocą rzutu na literał null. Aby uzyskać więcej informacji, zobacz CAST.

Aby uzyskać informacje o tym, gdzie można używać wolnych zmiennoprzecinkowych literałów null, zobacz Literały null i Wnioskowanie typu.

Wartość logiczna

Literały logiczne są reprezentowane przez słowa kluczowe true i false.

Integer

Literały liczb całkowitych mogą być typu Int32 lub Int64. Literał Int32 to seria znaków liczbowych. Literał Int64 to seria znaków liczbowych, po których następuje wielkie litery L.

Dziesiętne

Liczba stałoprzecinkowa (dziesiętna) to seria znaków liczbowych, kropka (.) i kolejna seria znaków liczbowych, po których następuje wielka litera "M".

Zmiennoprzecinkowy, podwójny

Liczba zmiennoprzecinkowa o podwójnej precyzji to seria znaków liczbowych, kropka (.) i kolejna seria znaków liczbowych, po których prawdopodobnie następuje wykładnik. Liczba zmiennoprzecinkowa o pojedynczej precyzji (lub zmiennoprzecinkowa) to składnia liczb zmiennoprzecinkowych o podwójnej precyzji, po której następuje mała litera f.

String

Ciąg to seria znaków ujęta w znaki cudzysłowu. Cudzysłowy mogą być zarówno cudzysłowami jednopostrofowymi (') albo obie cudzysłowy ("). Literały ciągu znaków mogą być unicode lub inne niż Unicode. Aby zadeklarować literał ciągu znaków jako Unicode, prefiks literału z wielkimi literami "N". Wartość domyślna to literały ciągów znaków innych niż Unicode. Nie może istnieć spacje między ładunkiem literału N i ciągu, a N musi mieć wielkie litery.

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

DateTime

Literał daty/godziny jest niezależny od ustawień regionalnych i składa się z części daty i części godziny. Zarówno części daty i godziny są obowiązkowe i nie ma wartości domyślnych.

Część daty musi mieć format: YYYYDD--MM, gdzie YYYY jest czterocyfrową wartością roku z zakresu od 0001 do 9999, MM jest miesiącem z przedziału od 1 do 12 i DD jest wartością dnia, która jest prawidłowa dla danego miesiąca.MM

Część czasowa musi mieć format: HH:[:SS[.fffffff]], gdzie HH jest wartością godziny z zakresu od 0 do 23, MM jest wartość minuty z zakresu od 0 do 59, SS jest drugą wartością z zakresu od 0 do 59 i fffffff jest ułamkowa druga wartość z zakresu odMM 0 do 9999999. Wszystkie zakresy wartości są włącznie. Sekundy ułamkowe są opcjonalne. Sekundy są opcjonalne, chyba że określono ułamkowe sekundy; w tym przypadku wymagane są sekundy. Jeśli nie określono sekund lub sekund ułamkowych, zamiast tego zostanie użyta wartość domyślna zero.

Może istnieć dowolna liczba spacji między symbolem DATETIME i ładunkiem literału, ale nie ma nowych wierszy.

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

Czas

Literał czasu jest niezależny od ustawień regionalnych i składa się tylko z części czasowej. Część czasowa jest obowiązkowa i nie ma wartości domyślnej. Musi mieć format HH:MM[:SS[.fffffff]], gdzie HH jest wartością godziny z zakresu od 0 do 23, MM jest wartością minuty z zakresu od 0 do 59, SS jest drugą wartością z zakresu od 0 do 59, a fffffff jest drugą wartością ułamkową z zakresu od 0 do 9999999. Wszystkie zakresy wartości są włącznie. Sekundy ułamkowe są opcjonalne. Sekundy są opcjonalne, chyba że określono ułamkowe sekundy; w tym przypadku wymagane są sekundy. Jeśli nie określono sekund lub ułamków, zostanie użyta wartość domyślna zero.

Może istnieć dowolna liczba spacji między symbolem TIME a ładunkiem literału, ale nie ma nowych wierszy.

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

DateTimeOffset

Literał datetimeoffset jest niezależny od ustawień regionalnych i składa się z części daty, części godziny i części przesunięcia. Wszystkie części daty, godziny i przesunięcia są obowiązkowe i nie ma wartości domyślnych. Część daty musi mieć format RRRR-MM-DD, gdzie RRRR jest czterocyfrową wartością roku z zakresu od 0001 do 9999, MM jest miesiącem od 1 do 12, a DD jest wartością dnia, która jest prawidłowa dla danego miesiąca. Część czasowa musi mieć format HH:MM[:SS[.fffffff]], gdzie HH jest wartością godziny z zakresu od 0 do 23, MM jest wartością minuty z zakresu od 0 do 59, SS jest drugą wartością z zakresu od 0 do 59, a fffffff jest wartością ułamkową sekundy z zakresu od 0 do 9999999. Wszystkie zakresy wartości są włącznie. Sekundy ułamkowe są opcjonalne. Sekundy są opcjonalne, chyba że określono ułamkowe sekundy; w tym przypadku wymagane są sekundy. Jeśli nie określono sekund lub ułamków, zostanie użyta wartość domyślna zero. Część przesunięcia musi mieć format {+|-}HH:MM, gdzie HH i MM mają takie samo znaczenie jak w części czasowej. Zakres przesunięcia musi jednak należeć do zakresu od -14:00 do + 14:00

Może istnieć dowolna liczba spacji między symbolem DATETIMEOFFSET a ładunkiem literału, ale nie ma nowych wierszy.

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

Uwaga

Prawidłowa wartość literału SQL jednostki może znajdować się poza obsługiwanymi zakresami dla środowiska CLR lub źródła danych. Może to spowodować wyjątek

Plik binarny

Literał ciągu binarnego jest sekwencją cyfr szesnastkowych rozdzielonych pojedynczymi cudzysłowami po słowie kluczowym binarnym lub symbolu X skrótu lub x. Symbol X skrótu jest niewrażliwy na wielkość liter. Między słowem kluczowym binary a wartością ciągu binarnego dozwolone jest zero lub więcej spacji.

Znaki szesnastkowe są również niewrażliwe na wielkość liter. Jeśli literał składa się z nieparzystej liczby cyfr szesnastkowej, literał zostanie wyrównany do następnej nawet cyfry szesnastkowej przez prefiks literału z cyfrą szesnastkową. Nie ma formalnego limitu rozmiaru ciągu binarnego.

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

Identyfikator GUID

Literał GUID reprezentuje globalnie unikatowy identyfikator. Jest to sekwencja utworzona przez słowo kluczowe GUID , po którym następują cyfry szesnastkowe w postaci znanej jako format rejestru : 8-4-4-4-12 ujęte w pojedyncze cudzysłowy. Cyfry szesnastkowe są bez uwzględniania wielkości liter.

Może istnieć dowolna liczba spacji między symbolem GUID a ładunkiem literału, ale nie ma nowych wierszy.

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

Zobacz też