Поделиться через


Литералы (Entity SQL)

В этом разделе описывается поддержка Entity SQL для литерала.

Недействительный

Литерал NULL используется для представления значения NULL для любого типа. Литерал NULL совместим с любым типом.

Типизированные значения NULL можно создать путем приведения к литералу NULL. Дополнительные сведения см. в разделе CAST.

Правила о том, где можно использовать свободные литералы NULL, см. в разделе "Литералы NULL" и "Вывод типов".

Boolean

Логические литералы представлены ключевыми словами true и false.

Целое число

Целые литералы могут быть типами Int32 или Int64. Литерал Int32 — это ряд числовых символов. Литерал Int64 — это ряд числовых символов, за которым следует верхний регистр L.

Десятичное число

Число фиксированной точки (десятичное) — это ряд числовых символов, точка (.) и другая серия числовых символов, за которым следует верхний регистр "M".

Float, Double

Число с плавающей запятой двойной точности — это ряд числовых символов, точка (.) и другая серия числовых символов, за которыми может следовать экспонент. Число с плавающей запятой с одной точностью (или с плавающей запятой) — это синтаксис числа с плавающей запятой двойной точности, за которым следует строчная буква f.

Струна

Строка представляет собой ряд символов, заключенных в кавычки. Кавычки могут быть как одинарными (') так и двойными кавычками (). Строковые литералы символов могут быть юникодами или не Юникодами. Чтобы объявить символьный строковый литерал в юникоде, префиксировать литерал с верхним регистром "N". По умолчанию используется строковые литералы, отличные от Юникода. Между N и строковым литеральными полезными данными не может быть пробелов, а n должен быть верхним регистром.

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

дата и время

Литерал datetime не зависит от языкового стандарта и состоит из части даты и времени. Обе части даты и времени являются обязательными, и значения по умолчанию отсутствуют.

Часть даты должна иметь формат: YYYYDD--MMгде YYYY имеется четырехзначное значение года от 0001 до 9999, MM является месяцем от 1 до 12 и DD является значением дня, допустимое для данного месяца.MM

Часть времени должна иметь формат:HHMM[:SS[.fffffff], где HH значение часа от 0 до 23, MM является минутным значением от 0 до 59, SS является вторым значением от 0 до 59 и fff является дробным вторым значением от 0 до 9999999. Все диапазоны значений включены включительно. Дробные секунды являются необязательными. Секунды являются необязательными, если не указаны дробные секунды; В этом случае требуются секунды. Если значения секунд или дробных секунд не указаны, вместо этого будет использоваться значение по умолчанию нуля.

Между символом DATETIME и полезными данными литерала может быть любое количество пробелов, но новые строки отсутствуют.

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

Время

Литерал времени не зависит от языкового стандарта и состоит только из части времени. Временная часть является обязательной, и значение по умолчанию отсутствует. Он должен иметь формат HH:MM[:SS[.fffffff], где HH — это значение часа в диапазоне от 0 до 23, ММ — это минутное значение от 0 до 59, SS — это второе значение от 0 до 59, а fff — это второе значение дроби от 0 до 9999999. Все диапазоны значений включены включительно. Дробные секунды являются необязательными. Секунды являются необязательными, если не указаны дробные секунды; В этом случае требуются секунды. Если значения секунд или дробей не указаны, вместо этого будет использоваться значение по умолчанию нуля.

Между символом TIME и полезными данными литерала может быть любое количество пробелов, но новые строки отсутствуют.

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

DateTimeOffset (смещение даты и времени)

Литерал datetimeoffset не зависит от языкового стандарта и состоит из части даты, части времени и смещения. Все части даты, времени и смещения являются обязательными, и значения по умолчанию отсутствуют. Часть даты должна иметь формат ГГГГ-ММ-ДД, где ггГГ является четырехзначным значением года от 0001 до 9999, ММ — это месяц от 1 до 12, а DD — значение дня, допустимое для данного месяца. Временная часть должна иметь формат HH:MM[:SS[.fff], где HH — это значение часа в диапазоне от 0 до 23, ММ — это минутное значение от 0 до 59, SS — это второе значение от 0 до 59, а fff — это дробное значение между 0 и 9999999. Все диапазоны значений включены включительно. Дробные секунды являются необязательными. Секунды являются необязательными, если не указаны дробные секунды; В этом случае требуются секунды. Если значения секунд или дробей не указаны, вместо этого будет использоваться значение по умолчанию нуля. Часть смещения должна иметь формат {+|-}HH:MM, где HH и MM имеют то же значение, что и в части времени. Однако диапазон смещения должен находиться в диапазоне от –14:00 до +14:00.

Между символом DATETIMEOFFSET и полезными данными литерала может быть любое количество пробелов, но нет новых строк.

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

Замечание

Допустимое значение литерала Entity SQL может выпасть за пределы поддерживаемых диапазонов для среды CLR или источника данных. Это может привести к исключению

Бинарный

Двоичный строковый литерал — это последовательность шестнадцатеричных цифр, разделенных одними кавычками после двоичного слова или символа ярлыкаX.x Символ ярлыка X не учитывает регистр. Допускается ноль или больше пробелов между ключевым словом binary и двоичным строковым значением.

Шестнадцатеричные символы также являются нечувствительными к регистру. Если литерал состоит из нечетного числа шестнадцатеричных цифр, литералы будут выровнены до следующей шестнадцатеричной цифры, префиксируя литерал шестнадцатеричной нулевой цифрой. Формальное ограничение на размер двоичной строки отсутствует.

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

Гид

Литерал GUID представляет глобальный уникальный идентификатор. Это последовательность, сформированная ключевым словом GUID , за которым следует шестнадцатеричные цифры в форме, известной как формат реестра : 8-4-4-12, заключенные в одинарные кавычки. Шестнадцатеричные цифры являются нечувствительными к регистру.

Между символом GUID и полезными данными литерала может быть любое количество пробелов, но новых строк нет.

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

См. также