Constantes (moteur de base de données)

Une constante est un symbole représentant une valeur de données spécifique. Le format d'une constante dépend du type de données dont elle représente la valeur. Les constantes sont également appelées littéraux. Les tableaux suivants présentent quelques exemples d'utilisation des constantes.

Constantes utilisées dans

Exemple

Chaînes de caractères

'O''Brien'

'The level for job_id: %d should be between %d and %d.'

Chaînes Unicode

N'Michl'

Constantes de chaînes binaires

0x12Ef

0x69048AEFDD010E

Constantes bit

0 ou 1

Constantes datetime

'April 15, 1998'

'04/15/98'

'14:30:24'

'04:24 PM'

Constantes integer

1894

2

Constantes decimal

1894.1204

2.0

Constantes float et real

101.5E5

0.5E-2

Constantes money

$12

$542023.14

Constantes uniqueidentifier

0xff19966f868b11d0b42d00c04fc964ff

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

Pour les constantes numériques, utilisez les opérateurs unaires + et - afin d'indiquer le signe de la valeur numérique :

+$156.45
-73.52E8
-129.42
+442

Le classement par défaut de la base de données active est affecté aux constantes de caractère et Unicode, sauf si vous attribuez un classement spécifique à l'aide de la clause COLLATE, par exemple :

'abc' COLLATE French_CI_AI
N'lustig' COLLATE German_Phonebook_CS_AS

Utilisation des constantes dans Transact-SQL

Dans Transact-SQL, les constantes peuvent s'utiliser de différentes façons. En voici quelques exemples :

  • Utilisation en tant que valeur dans une expression arithmétique :

    SELECT Price + $.10
    FROM MyTable
    
  • Utilisation en tant que valeur de données d'une colonne soumise à une comparaison avec la clause WHERE :

    SELECT *
    FROM MyTable
    WHERE LastName = 'O''Brien'
    
  • Utilisation en tant que valeur de données à insérer dans une variable :

    SET @DecimalVar = -1200.02
    
  • Utilisation en tant que valeur de données à placer dans une colonne de la ligne en cours. Cette opération s'effectue à l'aide de la clause SET de l'instruction UPDATE ou de la clause VALUES de l'instruction INSERT :

    UPDATE MyTable
    SET Price = $99.99
    WHERE PartNmbr = 1234
    INSERT INTO MyTable VALUES (1235, $88.88)
    
  • Utilisation en tant que chaîne de caractères pour spécifier le texte du message émis par une instruction PRINT ou RAISERROR :

    PRINT 'This is a message.'
    
  • Utilisation en tant que valeur à tester dans une instruction conditionnelle telle qu'une instruction IF ou les fonctions CASE :

    IF (@@SALESTOTAL > $100000.00)
       EXECUTE Give_Bonus_Procedure