Partager via


Constantes (Transact-SQL)

Une constante, également appelée valeur littérale ou scalaire, est un symbole représentant une valeur de donnée spécifique. Le format d'une constante dépend du type de données dont elle représente la valeur.

  • Constantes de type chaîne de caractères
    Une constante de type chaîne de caractères est placée entre des guillemets simples. Elle se compose de caractères alphanumériques (a-z, A-Z et 0-9) ainsi que de caractères spéciaux tels que le point d'exclamation (!), l'arobase (@) et le dièse (#). Les constantes de type chaîne de caractères reçoivent le classement par défaut de la base de données active, sauf si la clause COLLATE est utilisée pour spécifier un classement. Les chaînes de caractères tapées par l'utilisateur sont analysées au moyen de la page de codes de l'ordinateur et sont converties, le cas échéant, dans la page de codes par défaut de la base de données.

    Si l'option QUOTED_IDENTIFIER a été désactivée (OFF) pour une connexion, les chaînes de caractères peuvent également être placées entre des guillemets doubles. Notez que le fournisseur Microsoft SQL Server Native Client et le pilote ODBC utilisent automatiquement SET QUOTED_IDENTIFIER ON. Il est recommandé d'utiliser des guillemets simples.

    Si un guillemet simple est inséré dans une chaîne de caractères placée entre des guillemets simples, celui-ci doit être représenté par deux guillemets simples. Ceci n'est pas nécessaire dans une chaîne insérée entre des guillemets doubles.

    Voici des exemples de chaînes de caractères :

    'Cincinnati'
    'O''Brien'
    'Process X is 50% complete.'
    'The level for job_id: %d should be between %d and %d.'
    "O'Brien"
    

    Les chaînes vides sont représentées par deux guillemets simples, sans aucun caractère ou espace entre eux. En mode de compatibilité 6.x, une chaîne vide est traitée comme un espace simple.

    Les constantes de chaînes de caractères prennent en charge les classements évolués.

    Notes

    Les constantes de caractères dont la taille est supérieure à 8 000 octets sont des données de type varchar(max).

  • Chaînes Unicode
    Une chaîne Unicode a le même format qu'une chaîne de caractères, mais celle-ci est précédée de l'identificateur N (N correspond à National Language dans la norme SQL-92). Le préfixe N doit être en majuscule. Par exemple, 'Michel' est une constante de type caractère tandis que N'Michel' est une constante Unicode. Les constantes Unicode sont interprétées comme des données Unicode et ne sont pas évaluées à l'aide d'une page de codes. Les constantes Unicode présentent un classement, qui contrôle essentiellement les comparaisons et le respect de la casse. Les constantes Unicode reçoivent le classement par défaut de la base de données active, sauf si la clause COLLATE est utilisée pour spécifier un classement. Les données Unicode sont stockées en utilisant 2 octets par caractère, alors que les données de type caractère utilisent 1 octet par caractère. Pour plus d'informations, consultez Utilisation de données Unicode.

    Les constantes de chaînes Unicode prennent en charge les classements évolués.

    Notes

    Les constantes Unicode dont la taille est supérieure à 8 000 octets sont des données de type nvarchar(max).

  • Constantes binaires
    Une constante binaire a le préfixe 0x et se compose d'une chaîne de nombres hexadécimaux. La chaîne n'est pas entourée de guillemets.

    Voici des exemples de chaînes binaires :

    0xAE
    0x12Ef
    0x69048AEFDD010E
    0x  (empty binary string)
    

    Notes

    Les constantes binaires dont la taille est supérieure à 8 000 octets sont des données de type varbinary(max).

  • Constantes bit
    Une constante de type bit est représentée par les nombres 0 ou 1 et elle n'est pas entourée de guillemets. Si un nombre supérieur à 1 est utilisé, il est converti en 1.

  • Constantes datetime
    Les constantes datetime sont représentées à l'aide de valeurs de date libellées avec des caractères dans un format spécifique. Elles sont entourées de guillemets simples. Pour plus d'informations sur les formats des constantes datetime, consultez Utilisation des données de date et d'heure.

    Voici des exemples de constantes datetime :

    'December 5, 1985'
    '5 December, 1985'
    '851205'
    '12/5/98'
    

    Exemples de constantes de type heure :

    '14:30:24'
    '04:24 PM'
    
  • Constantes integer
    Les constantes de type integer sont représentées par une chaîne de nombres qui n'est pas entourée de guillemets et qui ne contient pas de séparateur de décimales. Les constantes integer doivent être des nombres entiers et ne peuvent pas contenir de décimales.

    Voici des exemples de constantes integer :

    1894
    2
    
  • Constantes decimal
    Une constante de type decimal est représentée par une chaîne de nombres qui contient un séparateur de décimales et n'est pas entourée de guillemets.

    Voici des exemples de constantes decimal :

    1894.1204
    2.0
    
  • Constantes float et real
    Les constantes de type float et real sont représentées par la notation scientifique.

    Voici des exemples de constantes float ou real :

    101.5E5
    0.5E-2
    
  • Constantes money
    Une constante de type money est représentée par une chaîne de chiffres avec un séparateur décimal facultatif. Elle peut être précédée d'un symbole monétaire. Les constants de type money n'apparaissent pas entre guillemets.

    SQL Server n'impose aucune règle de regroupement, telle que l'insertion d'une virgule (,) tous les trois chiffres dans les chaînes qui représentent une valeur monétaire.

    Notes

    Les virgules sont ignorées dans la valeur littérale money spécifiée.

    Voici des exemples de constantes money :

    $12
    $542023.14
    
  • Constantes uniqueidentifier
    Les constantes de type uniqueidentifier sont des chaînes représentant une valeur d'identificateur globalement unique (GUID). Elles peuvent être spécifiées dans un format de chaîne de caractères ou binaire.

    Les deux exemples ci-après spécifient le même identificateur globalement unique (GUID) :

    '6F9619FF-8B86-D011-B42D-00C04FC964FF'
    0xff19966f868b11d0b42d00c04fc964ff
    

Définition d'un nombre négatif ou positif

Pour indiquer si un nombre est positif ou négatif, ajoutez l'opérateur unaire + ou - à une constante numérique. Ceci crée une expression numérique représentant la valeur numérique signée. Lorsque l'opérateur unaire + ou - n'est pas appliqué, une constante numérique est positive.

  • Expressions integer signées :

    +145345234
    -2147483648
    
  • Expressions decimal signées :

    +145345234.2234
    -2147483648.10
    
  • Expressions float signées :

    +123E-3
    -12E5
    
  • Expressions money signées :

    -$45.56
    +$423456.99
    

Classements évolués

SQL Server gère les constantes de chaînes de caractères et Unicode qui prennent en charge les classements évolués. Pour plus d'informations, consultez la clause COLLATE (Transact-SQL).