Literales (Entity SQL)

En este tema se describe la compatibilidad con los literales en Entity SQL .

Null

El literal null se utiliza para representar valores null de cualquier tipo. Un literal null es compatible con todos los tipos.

Los valores null con tipo se pueden crear realizando una conversión de un literal null. Para obtener más información, vea CAST (Entity SQL).

Para conocer las reglas que determinan dónde se pueden usar literales null flotantes, vea Literales null e inferencia de tipos (Entity SQL).

Booleano

Los literales booleanos se representan mediante las palabras clave true y false.

Entero

Los literales enteros pueden ser de tipo Int32 o Int64. Un literal Int32 es una serie de caracteres numéricos. Un literal Int64 es una serie de caracteres numéricos seguidos de una letra L en mayúsculas.

Decimal

Un número de punto fijo (decimal) es una serie de caracteres numéricos, un punto (.) y otra serie de caracteres numéricos seguidos de una letra M en mayúsculas.

Flotante y doble

Un número de punto flotante de precisión doble es una serie de caracteres numéricos, un punto (.) y otra serie de caracteres numéricos seguida, posiblemente, de un exponente. Un número de punto flotante de precisión sencilla (o float) es un número de punto flotante de precisión doble seguido de la letra f en minúsculas.

Cadena

Una cadena es una serie de caracteres incluidos entre comillas. Las comillas pueden ser simples (') o dobles ("). Los literales de cadenas de caracteres pueden ser Unicode o no Unicode. Para declarar un literal de cadena de caracteres como Unicode, anteponga al literal la letra "N" mayúscula. De forma predeterminada, son literales de cadena de caracteres no Unicode. No puede haber espacios entre la N y la carga del literal de cadena, y la N debe estar en mayúsculas.

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

DateTime

Un literal datetime es independiente de la configuración regional y está compuesto de una fecha y una hora. Tanto la fecha como la hora deben aparecer y no hay valores predeterminados.

La fecha debe tener el formato: YYYY-MM-DD, donde YYYY es el valor correspondiente a un año de cuatro dígitos comprendido entre 0001 y 9999, MM es el valor correspondiente al mes comprendido entre 1 y 12, y DD es el valor correspondiente al día, que tiene que ser válido para el mes especificado MM.

La hora debe tener el formato: HH:MM[:SS[.fffffff]], donde HH es el valor correspondiente a la hora comprendido entre 0 y 23, MM es el valor correspondiente a los minutos comprendido entre 0 y 59, SS es el valor correspondiente a los segundos comprendido entre 0 y 59, y fffffff es el valor correspondiente a la fracción de segundo comprendido entre 0 y 9999999. Todos los intervalos de valores incluyen los valores extremos. Las fracciones de segundo son opcionales. Los segundos son opcionales a menos que se especifiquen fracciones de segundo; en este caso, los segundos son necesarios. Cuando no se especifican segundos o fracciones de segundo, se usa el valor cero predeterminado.

Puede haber cualquier número de espacios entre el símbolo DATETIME y la carga del literal, pero no puede haber líneas nuevas.

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

Time

Un literal time es independiente de la configuración regional y está compuesto de una hora exclusivamente. La hora debe aparecer y no hay ningún valor predeterminado. Debe tener el formato HH:MM[:SS[.fffffff]], donde HH es el valor correspondiente a la hora comprendido entre 0 y 23, MM es el valor correspondiente a los minutos comprendido entre 0 y 59, SS es el valor correspondiente a los segundos comprendido entre 0 y 59, y fffffff es el valor correspondiente a la fracción de segundo comprendido entre 0 y 9999999. Todos los intervalos de valores incluyen los valores extremos. Las fracciones de segundo son opcionales. Los segundos son opcionales a menos que se especifiquen fracciones de segundo; en este caso, los segundos son necesarios. Cuando no se especifican segundos o fracciones de segundo, se usa el valor cero predeterminado.

Puede haber cualquier número de espacios entre el símbolo TIME y la carga del literal, pero no puede haber líneas nuevas.

TIME‘23:11’
TIME‘01:01:00.1234567’

DateTimeOffset

Un literal datetimeoffset es independiente de la configuración regional y está compuesto de una fecha, una hora y un desplazamiento. La fecha, la hora y el desplazamiento deben aparecer y no hay valores predeterminados. La fecha debe tener el formato YYYY-MM-DD, donde YYYY es un valor de cuatro dígitos correspondiente al año comprendido entre 0001 y 9999, MM es el valor correspondiente al mes comprendido entre 1 y 12, y DD es el valor correspondiente al día, que tiene que ser válido para el mes especificado. La hora debe tener el formato HH:MM[:SS[.fffffff]], donde HH es el valor correspondiente a la hora comprendido entre 0 y 23, MM es el valor correspondiente a los minutos comprendido entre 0 y 59, SS es el valor correspondiente a los segundos comprendido entre 0 y 59, y fffffff es el valor correspondiente a la fracción de segundo comprendido entre 0 y 9999999. Todos los intervalos de valores incluyen los valores extremos. Las fracciones de segundo son opcionales. Los segundos son opcionales a menos que se especifiquen fracciones de segundo; en este caso, los segundos son necesarios. Cuando no se especifican segundos o fracciones de segundo, se usa el valor cero predeterminado. El desplazamiento debe tener el formato {+ | -} HH:MM, donde HH y MM tienen el mismo significado que en la hora. Sin embargo, el desplazamiento debe estar comprendido entre -14:00 y + 14:00.

Puede haber cualquier número de espacios entre el símbolo DATETIMEOFFSET y la carga del literal, pero no puede haber líneas nuevas.

DATETIMEOFFSET‘2006-10-1 23:11 +02:00’
DATETIMEOFFSET‘2006-12-25 01:01:00.0000000 -08:30’
Bb399176.note(es-es,VS.100).gifNota:
Un valor literal de Entity SQL válido puede quedar fuera de los intervalos admitidos para CLR o el origen de datos.Esto puede dar lugar a una excepción.

Binario

Un literal de cadena binario (binary) es una secuencia de dígitos hexadecimales delimitados por comillas simples que sigue a la palabra clave binary o al símbolo de método abreviado X. Observe que, al tratarse de una palabra clave, binary no distingue mayúsculas de minúsculas. Además, se permite que haya espacios entre la palabra clave binary y el valor de la cadena binaria.

El símbolo de método abreviado X debe estar en mayúsculas y no puede haber espacios entre el símbolo X y la cadena binaria. Los caracteres hexadecimales tampoco distinguen mayúsculas de minúsculas. Si el literal está compuesto de un número impar de dígitos hexadecimales, el literal se alineará con el siguiente dígito hexadecimal par anteponiéndole un dígito cero hexadecimal. No hay ningún límite formal para el tamaño de la cadena binaria.

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

Guid

Un literal GUID representa un identificador único global. Es una secuencia formada por la palabra clave GUID seguida de dígitos hexadecimales con un formato conocido como formato de registro: 8-4-4-4-12 encerrados entre comillas simples. Los dígitos hexadecimales no distinguen mayúsculas de minúsculas.

Puede haber cualquier número de espacios entre el símbolo GUID y la carga del literal, pero no puede haber líneas nuevas.

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

Vea también

Conceptos

Información general de Entity SQL