Literály (Entity SQL)

Toto téma popisuje podporu entity SQL pro literály.

Null

Literál null se používá k reprezentaci hodnoty null pro libovolný typ. Literál null je kompatibilní s libovolným typem.

Typed nulls can be created by a cast over a null literal. Další informace naleznete v tématu CAST.

Pravidla o tom, kde lze použít volné plovoucí literály null, naleznete v tématu Literály null a odvození typu.

Logická hodnota

Logické literály jsou reprezentovány klíčovými slovy true a false.

Celé číslo

Celočíselné literály mohou být typu Int32 nebo Int64. Literál Int32 je řada číselných znaků. Literál Int64 je řada číselných znaků následovaných velkým písmenem L.

Desetinné číslo

Číslo s pevným bodem (desetinné číslo) je řada číselných znaků, tečka (.) a další řada číselných znaků následovaných velkými písmeny M.

Float, Double

Číslo s plovoucí desetinnou čárkou s dvojitou přesností je řada číselných znaků, tečka (.) a další řada číselných znaků, za kterými může následovat exponent. Jednopřesnost číslo s plovoucí desetinnou čárkou (nebo plovoucí desetinná čárka) je syntaxe čísla s plovoucí desetinnou čárkou s dvojitou přesností následovanou malými písmeny f.

String

Řetězec je řada znaků uzavřených v uvozovkách. Uvozovky můžou být buď jednoduché (') nebo obě dvojité uvozovky ("). Literály řetězců znaků můžou být unicode nebo jiné než Unicode. Chcete-li deklarovat literál řetězce znaků jako Unicode, předpona literálu velkým písmenem "N". Výchozí hodnota je literálů řetězců bez znaku Unicode. Mezi datovou částí N a řetězcovou datovou částí literálu nesmí být mezery a písmeno N musí obsahovat velká písmena.

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

DateTime

Literál datetime je nezávislý na národním prostředí a skládá se z části data a časové části. Části data i času jsou povinné a neexistují žádné výchozí hodnoty.

Část data musí mít formát: YYYYDD-MM-, kde YYYY je čtyřmístná hodnota roku mezi 0001 a 9999, MM je měsíc mezi 1 a 12 a DD je hodnota dne platná pro daný měsíc .MM

Časová část musí mít formát: HH:[:SS[.fffffff]], kde HH je hodinová hodnota mezi 0 a 23, MM je minutová hodnota mezi 0 a 59, SS je druhá hodnota mezi 0 a 59 a fffffff je desetinná druhá hodnota meziMM 0 a 9999999. Všechny rozsahy hodnot jsou inkluzivní. Zlomkové sekundy jsou volitelné. Sekundy jsou volitelné, pokud nejsou zadány desetinné sekundy; v tomto případě jsou vyžadovány sekundy. Pokud nezadáte sekundy nebo zlomkové sekundy, použije se místo toho výchozí hodnota nuly.

Mezi symbolem DATETIME a datovou částí literálu může být libovolný počet mezer, ale žádné nové řádky.

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

Čas

Časový literál je nezávislý na národním prostředí a skládá se pouze z časové části. Časová část je povinná a neexistuje žádná výchozí hodnota. Musí mít formát HH:MM[:SS[.fffffff]], kde HH je hodinová hodnota mezi 0 a 23, MM je minutová hodnota mezi 0 a 59, SS je druhá hodnota mezi 0 a 59 a fffffff je druhá desetinná hodnota mezi 0 a 9999999. Všechny rozsahy hodnot jsou inkluzivní. Zlomkové sekundy jsou volitelné. Sekundy jsou volitelné, pokud nejsou zadány desetinné sekundy; v tomto případě jsou vyžadovány sekundy. Pokud nezadáte sekundy nebo zlomky, použije se místo toho výchozí hodnota nuly.

Mezi symbolem TIME a datovou částí literálu může být libovolný počet mezer, ale žádné nové řádky.

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

DateTimeOffset

Literál datetimeoffset je nezávislý na národním prostředí a skládá se z části data, časové části a odsazené části. Všechny části data, času a posunu jsou povinné a neexistují žádné výchozí hodnoty. Část data musí mít formát RRRR-MM-DD, kde RRRR je čtyřmístná hodnota roku mezi 0001 a 9999, MM je měsíc mezi 1 a 12 a DD je hodnota dne platná pro daný měsíc. Časová část musí mít formát HH:MM[:SS[.fffffff]], kde HH je hodinová hodnota mezi 0 a 23, MM je minutová hodnota mezi 0 a 59, SS je druhá hodnota mezi 0 a 59 a fffffff je desetinná druhá hodnota mezi 0 a 9999999. Všechny rozsahy hodnot jsou inkluzivní. Zlomkové sekundy jsou volitelné. Sekundy jsou volitelné, pokud nejsou zadány desetinné sekundy; v tomto případě jsou vyžadovány sekundy. Pokud nezadáte sekundy nebo zlomky, použije se místo toho výchozí hodnota nuly. Odsazení musí mít formát {+|-}HH:MM, kde HH a MM mají stejný význam jako v časové části. Rozsah posunu však musí být v rozmezí -14:00 až + 14:00.

Mezi symbolem DATETIMEOFFSET a datovou částí literálu může být libovolný počet mezer, ale žádné nové řádky.

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

Poznámka:

Platná hodnota literálu Entity SQL může spadat mimo podporované rozsahy modulu CLR nebo zdroj dat. To může vést k výjimce.

Binární

Binární řetězcový literál je posloupnost šestnáctkových číslic oddělených jednoduchými uvozovkami za binárním slovem nebo symbolem X zástupce nebo x. Symbol zástupce X nerozlišuje velká a malá písmena. Mezi klíčovým slovem binary a binární řetězcovou hodnotou je povolena nula nebo více mezer.

Hexadecimální znaky také nerozlišují velká a malá písmena. Pokud se literál skládá z lichého počtu šestnáctkových číslic, literál se zarovná k další sudé šestnáctkové číslici tak, že před literál předponou šestnáctkové nuly. Velikost binárního řetězce nemá žádný formální limit.

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

Guid

GUID Literál představuje globálně jedinečný identifikátor. Jedná se o sekvenci tvořenou klíčovým slovem GUID následovaným šestnáctkovými číslicemi ve formuláři známém jako formát registru : 8-4-4-4-12 uzavřených v jednoduchých uvozovkách. Šestnáctkové číslice nerozlišují velká a malá písmena.

Mezi symbolem GUID a datovou částí literálu může být libovolný počet mezer, ale žádné nové řádky.

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

Viz také