Partager via


Littéraux (Entity SQL)

Cette rubrique décrit la prise en charge d’Entity SQL pour les littéraux.

Zéro

Le littéral Null est utilisé pour représenter la valeur Null pour n’importe quel type. Un littéral Null est compatible avec n’importe quel type.

Les valeurs Null typées peuvent être créées par un cast sur un littéral Null. Pour plus d’informations, consultez CAST.

Pour connaître les règles sur l’emplacement où les littéraux null flottants libres peuvent être utilisés, consultez Littéraux Null et Inférence de type.

Booléen

Les littéraux booléens sont représentés par les mots clés true et false.

Nombre entier

Les littéraux entiers peuvent être de type Int32 ou Int64. Un Int32 littéral est une série de caractères numériques. Un Int64 littéral est une série de caractères numériques suivis d’un L majuscule.

Décimal

Un nombre à virgule fixe (décimale) est une série de caractères numériques, un point (.) et une autre série de caractères numériques suivis d’une majuscule « M ».

Float, Double

Un nombre à virgule flottante double précision est une série de caractères numériques, un point (.) et une autre série de caractères numériques éventuellement suivie d’un exposant. Un nombre à virgule flottante simple précision (ou float) est une syntaxe de nombre à virgule flottante double précision suivie du f minuscule.

Chaîne

Une chaîne est une série de caractères placés entre guillemets. Les guillemets peuvent être à la fois entre guillemets simples (') ou les deux guillemets doubles ("). Les littéraux de chaîne de caractères peuvent être Unicode ou non-Unicode. Pour déclarer un littéral de chaîne de caractères en tant qu’Unicode, préfixez le littéral avec un majuscule « N ». La valeur par défaut est des littéraux de chaîne de caractères non Unicode. Il ne peut y avoir aucun espace entre le N et la charge utile littérale de chaîne, et le N doit être en majuscules.

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

Date et heure

Un littéral datetime est indépendant des paramètres régionaux et se compose d’une partie de date et d’une partie d’heure. Les parties de date et d’heure sont obligatoires et aucune valeur par défaut n’est présente.

La partie date doit avoir le format : YYYY--MMDD, où YYYY est une valeur d’année à quatre chiffres comprise entre 0001 et 9999, MM correspond au mois compris entre 1 et 12 et DD est la valeur de jour valide pour le mois MMdonné .

La partie de temps doit avoir le format :HHMM[ :SS[.fffffff]], où HH est la valeur d’heure comprise entre 0 et 23, MM est la valeur de minute comprise entre 0 et 59, SS est la deuxième valeur comprise entre 0 et 59 et fffffff est la valeur fractionnaire de seconde comprise entre 0 et 9999999. Toutes les plages de valeurs sont inclusives. Les fractions de seconde sont facultatives. Les secondes sont facultatives, sauf si des secondes fractionnaires sont spécifiées ; dans ce cas, des secondes sont requises. Lorsque des secondes ou des fractions de secondes ne sont pas spécifiées, la valeur par défaut zéro est utilisée à la place.

Il peut y avoir n’importe quel nombre d’espaces entre le symbole DATETIME et la charge utile littérale, mais aucune nouvelle ligne.

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

Heure

Un littéral de temps est indépendant des paramètres régionaux et composé d’une partie de temps uniquement. La partie de temps est obligatoire et aucune valeur par défaut n’est présente. Il doit avoir le format HH :MM[ :SS[.fffffff]], où HH est la valeur d’heure comprise entre 0 et 23, MM est la valeur minute comprise entre 0 et 59, SS est la deuxième valeur comprise entre 0 et 59, et fffffff est la deuxième valeur de fraction comprise entre 0 et 9999999. Toutes les plages de valeurs sont inclusives. Les fractions de seconde sont facultatives. Les secondes sont facultatives, sauf si des secondes fractionnaires sont spécifiées ; dans ce cas, des secondes sont requises. Lorsque des secondes ou des fractions ne sont pas spécifiées, la valeur par défaut de zéro est utilisée à la place.

Il peut y avoir n’importe quel nombre d’espaces entre le symbole TIME et la charge utile littérale, mais aucune nouvelle ligne.

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

DateTimeOffset

Un littéral datetimeoffset est indépendant des paramètres régionaux et composé d’une partie de date, d’une partie d’heure et d’une partie offset. Toutes les parties de date, d’heure et de décalage sont obligatoires et aucune valeur par défaut n’est présente. La partie date doit avoir le format AAAA-MM-DD, où AAAA est une valeur d’année à quatre chiffres comprise entre 0001 et 9999, MM correspond au mois compris entre 1 et 12, et DD est la valeur de jour valide pour le mois donné. La partie de temps doit avoir le format HH :MM[ :SS[.fffffff]], où HH est la valeur d’heure comprise entre 0 et 23, MM est la valeur minute comprise entre 0 et 59, SS est la deuxième valeur comprise entre 0 et 59, et fffffff est la valeur fractionnaire de seconde comprise entre 0 et 9999999. Toutes les plages de valeurs sont inclusives. Les fractions de seconde sont facultatives. Les secondes sont facultatives, sauf si des secondes fractionnaires sont spécifiées ; dans ce cas, des secondes sont requises. Lorsque des secondes ou des fractions ne sont pas spécifiées, la valeur par défaut de zéro est utilisée à la place. La partie offset doit avoir le format {+|-}HH :MM, où HH et MM ont la même signification que dans la partie de temps. Toutefois, la plage du décalage doit être comprise entre -14:00 et + 14:00

Il peut y avoir n’importe quel nombre d’espaces entre le symbole DATETIMEOFFSET et la charge utile littérale, mais aucune nouvelle ligne.

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

Remarque

Une valeur littérale Entity SQL valide peut se trouver en dehors des plages prises en charge pour CLR ou la source de données. Cela peut entraîner une exception

Binaire

Un littéral de chaîne binaire est une séquence de chiffres hexadécimaux délimités par des guillemets simples suivant le binaire du mot clé ou le symbole X de raccourci ou x. Le symbole X de raccourci ne respecte pas la casse. Un ou plusieurs espaces sont autorisés entre le mot clé binary et la valeur de chaîne binaire.

Les caractères hexadécimaux ne respectent pas la casse. Si le littéral est composé d’un nombre impair de chiffres hexadécimaux, le littéral est aligné sur le chiffre hexadécimal suivant en préfixant le littéral avec un chiffre hexadécimal zéro. Il n’existe aucune limite formelle sur la taille de la chaîne binaire.

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

Guide

Un GUID littéral représente un identificateur global unique. Il s’agit d’une séquence formée par le mot clé GUID suivi de chiffres hexadécimaux sous la forme appelée format de Registre : 8-4-4-4-12 entre guillemets simples. Les chiffres hexadécimaux ne respectent pas la casse.

Il peut y avoir n’importe quel nombre d’espaces entre le symbole GUID et la charge utile littérale, mais aucune nouvelle ligne.

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

Voir aussi