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
Voir aussi