Costanti (Motore di database)
Una costante è un simbolo che rappresenta un valore di dati specifico. Il formato di una costante dipende dal tipo di dati del valore che essa rappresenta. Le costanti sono denominate anche valori letterali. Nelle tabelle seguenti vengono illustrati alcuni esempi di utilizzo delle costanti.
Costanti utilizzate in |
Esempio |
---|---|
Stringhe di caratteri |
'O''Brien' 'The level for job_id: %d should be between %d and %d.' |
Stringhe Unicode |
N'Michl' |
Costanti stringhe binarie |
0x12Ef 0x69048AEFDD010E |
Costanti bit |
0 oppure 1 |
Costanti datetime |
'April 15, 1998' '04/15/98' '14:30:24' '04:24 PM' |
Costanti integer |
1894 2 |
Costanti decimal |
1894.1204 2.0 |
Costanti float e real |
101.5E5 0.5E-2 |
Costanti money |
$12 $542023.14 |
Costanti uniqueidentifier |
0xff19966f868b11d0b42d00c04fc964ff '6F9619FF-8B86-D011-B42D-00C04FC964FF' |
Per specificare il segno del valore delle costanti numeriche, vengono utilizzati gli operatori unari + e -.
+$156.45
-73.52E8
-129.42
+442
Alle costanti di tipo carattere e Unicode vengono assegnate le regole di confronto predefinite del database corrente, a meno che non siano state assegnate regole di confronto specifiche tramite la clausola COLLATE, ad esempio:
'abc' COLLATE French_CI_AI
N'lustig' COLLATE German_Phonebook_CS_AS
Utilizzo di costanti in Transact-SQL
In Transact-SQL le costanti vengono utilizzate in molti modi diversi. Di seguito vengono riportati alcuni esempi.
Come valore costante in un'espressione aritmetica:
SELECT Price + $.10 FROM MyTable
Come valore di dati per il confronto di una colonna in una clausola WHERE:
SELECT * FROM MyTable WHERE LastName = 'O''Brien'
Come valore di dati da inserire in una variabile:
SET @DecimalVar = -1200.02
Come valore di dati da inserire in una colonna della riga corrente. Questo valore viene specificato con la clausola SET dell'istruzione UPDATE oppure con la clausola VALUES di un'istruzione INSERT:
UPDATE MyTable SET Price = $99.99 WHERE PartNmbr = 1234 INSERT INTO MyTable VALUES (1235, $88.88)
Come stringa di caratteri che specifica il testo del messaggio generato da un'istruzione PRINT o RAISERROR:
PRINT 'This is a message.'
Come valore da verificare in un'istruzione condizionale, ad esempio IF o le funzioni CASE:
IF (@@SALESTOTAL > $100000.00) EXECUTE Give_Bonus_Procedure
Vedere anche