Partilhar via


Literais (Entity SQL)

Este tópico descreve o suporte do Entity SQL para literais.

Nulo

O literal nulo é usado para representar o valor null para qualquer tipo. Um literal nulo é compatível com qualquer tipo.

Nulos digitados podem ser criados por um elenco sobre um literal nulo. Para obter mais informações, consulte CAST.

Para obter regras sobre onde literais nulos flutuantes livres podem ser usados, consulte Literais nulos e Inferência de tipo.

Boolean

Os literais booleanos são representados pelas palavras-chave true e false.

Número inteiro

Literais inteiros podem ser do tipo Int32 ou Int64. Um Int32 literal é uma série de caracteres numéricos. Um literal é uma Int64 série de caracteres numéricos seguida por um L maiúsculo.

Decimal

Um número de ponto fixo (decimal) é uma série de caracteres numéricos, um ponto (.) e outra série de caracteres numéricos seguidos por um "M" maiúsculo.

Flutuador, Duplo

Um número de ponto flutuante de precisão dupla é uma série de caracteres numéricos, um ponto (.) e outra série de caracteres numéricos possivelmente seguida por um expoente. Um número de ponto flutuante de precisão única (ou float) é uma sintaxe de número de ponto flutuante de precisão dupla seguida pelo f minúsculo.

String

Uma cadeia de caracteres é uma série de caracteres entre aspas. As cotações podem ser aspas simples (') ou aspas duplas ("). Os literais de cadeia de caracteres podem ser Unicode ou não-Unicode. Para declarar uma cadeia de caracteres literal como Unicode, prefixe o literal com um "N" maiúsculo. O padrão é literais de cadeia de caracteres não-Unicode. Não pode haver espaços entre o N e a carga literal da cadeia de caracteres, e o N deve ser maiúsculo.

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

DateTime

Um literal datetime é independente da localidade e é composto por uma parte de data e uma parte de tempo. As partes de data e hora são obrigatórias e não há valores padrão.

A parte da data deve ter o formato: YYYY--MMDD, onde YYYY é um valor de ano de quatro dígitos entre 0001 e 9999, MM é o mês entre 1 e 12 e DD é o valor do dia que é válido para o mês MMem questão.

A parte de tempo deve ter o formato: HH:[:SS[.fffffff]], onde HH é o valor da hora entre 0 e 23, MM é o valor do minuto entre 0 e 59, SS é o segundo valor entre 0 e 59 e fffffff é o segundo valor fracionário entreMM 0 e 9999999. Todos os intervalos de valores são inclusivos. Os segundos fracionados são opcionais. Os segundos são opcionais, a menos que sejam especificados segundos fracionários; neste caso, são necessários segundos. Quando segundos ou segundos fracionários não são especificados, o valor padrão de zero será usado.

Pode haver qualquer número de espaços entre o símbolo DATETIME e a carga literal, mas não novas linhas.

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

Hora

Um literal de tempo é independente da localidade e composto apenas por uma parte do tempo. A parte de tempo é obrigatória e não há valor padrão. Deve ter o formato HH:MM[:SS[.fffffff]], onde HH é o valor da hora entre 0 e 23, MM é o valor do minuto entre 0 e 59, SS é o segundo valor entre 0 e 59 e fffffff é o segundo valor da fração entre 0 e 9999999. Todos os intervalos de valores são inclusivos. Os segundos fracionados são opcionais. Os segundos são opcionais, a menos que sejam especificados segundos fracionários; neste caso, são necessários segundos. Quando segundos ou frações não são especificados, o valor padrão de zero será usado.

Pode haver qualquer número de espaços entre o símbolo TIME e a carga literal, mas não novas linhas.

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

DateTimeOffset

Um literal datetimeoffset é independente da localidade e composto por uma parte de data, uma parte de tempo e uma parte de deslocamento. Todas as peças de data, hora e deslocamento são obrigatórias e não há valores padrão. A parte da data deve ter o formato AAAA-MM-DD, em que AAAA é um valor de ano de quatro dígitos entre 0001 e 9999, MM é o mês entre 1 e 12 e DD é o valor do dia válido para o mês em questão. A parte de tempo deve ter o formato HH:MM[:SS[.fffffff]], onde HH é o valor da hora entre 0 e 23, MM é o valor do minuto entre 0 e 59, SS é o segundo valor entre 0 e 59 e fffffff é o segundo valor fracionário entre 0 e 9999999. Todos os intervalos de valores são inclusivos. Os segundos fracionados são opcionais. Os segundos são opcionais, a menos que sejam especificados segundos fracionários; neste caso, são necessários segundos. Quando segundos ou frações não são especificados, o valor padrão de zero será usado. A parte deslocada deve ter o formato {+|-}HH:MM, onde HH e MM têm o mesmo significado que na parte temporal. O intervalo da compensação, no entanto, deve ser entre -14:00 e + 14:00

Pode haver qualquer número de espaços entre o símbolo DATETIMEOFFSET e a carga literal, mas não novas linhas.

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

Nota

Um valor literal válido do Entity SQL pode estar fora dos intervalos suportados para CLR ou a fonte de dados. Isso pode resultar em uma exceção

Binário

Uma cadeia binária literal é uma sequência de dígitos hexadecimais delimitada por aspas simples seguindo a palavra-chave binária ou o símbolo X de atalho ou x. O símbolo X de atalho não diferencia maiúsculas de minúsculas. Um zero ou mais espaços são permitidos entre a palavra-chave binary e o valor da cadeia binária.

Os caracteres hexadecimais também não diferenciam maiúsculas de minúsculas. Se o literal for composto por um número ímpar de dígitos hexadecimais, o literal será alinhado ao próximo dígito hexadecimal par prefixando o literal com um dígito zero hexadecimal. Não há limite formal para o tamanho da cadeia binária.

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

GUID

Um GUID literal representa um identificador global exclusivo. É uma sequência formada pela palavra-chave GUID seguida por dígitos hexadecimais na forma conhecida como formato de registro : 8-4-4-4-12 entre aspas simples. Os dígitos hexadecimais não diferenciam maiúsculas de minúsculas.

Pode haver qualquer número de espaços entre o símbolo GUID e a carga literal, mas não novas linhas.

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

Consulte também