Constantes (Mecanismo de Banco de Dados)
Uma constante é um símbolo que representa um valor de dados específico. O formato de uma constante depende do tipo de dados do valor que representa. As constantes também são chamadas de literais. As tabelas a seguir mostram alguns exemplos de como as constantes são usadas.
Constantes usadas em |
Exemplo |
---|---|
Cadeias de caracteres |
'O''Brien' 'The level for job_id: %d should be between %d and %d.' |
Cadeias de caracteres Unicode |
N'Michl' |
Constantes de cadeia de caracteres binária |
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 e real |
101.5E5 0.5E-2 |
constantes money |
$12 $542023.14 |
constantes uniqueidentifier |
0xff19966f868b11d0b42d00c04fc964ff '6F9619FF-8B86-D011-B42D-00C04FC964FF' |
No caso de constantes numéricas, para especificar o sinal do valor numérico use os operadores unários + e -:
+$156.45
-73.52E8
-129.42
+442
Às constantes Unicode e de caractere é atribuído o agrupamento padrão do banco de dados atual, a menos que você atribua um agrupamento específico usando a cláusula COLLATE, como neste exemplo:
'abc' COLLATE French_CI_AI
N'lustig' COLLATE German_Phonebook_CS_AS
Usando constantes no Transact-SQL
No Transact-SQL, podem ser usadas constantes de muitas maneiras. Alguns exemplos:
Como um valor constante em uma expressão aritmética:
SELECT Price + $.10 FROM MyTable
Como o valor de dados de uma coluna que é comparado em uma cláusula WHERE:
SELECT * FROM MyTable WHERE LastName = 'O''Brien'
Como os valores de dados a serem colocados em uma variável:
SET @DecimalVar = -1200.02
Como o valor de dados que deve ser colocado em uma coluna da linha atual. Isso é especificado com a cláusula SET da instrução UPDATE ou com a cláusula VALUES de uma instrução INSERT:
UPDATE MyTable SET Price = $99.99 WHERE PartNmbr = 1234 INSERT INTO MyTable VALUES (1235, $88.88)
Como a cadeia de caracteres que especifica o texto da mensagem emitida por uma instrução PRINT ou RAISERROR:
PRINT 'This is a message.'
Como o valor a ser testado em uma instrução condicional, tal como uma instrução IF ou funções CASE:
IF (@@SALESTOTAL > $100000.00) EXECUTE Give_Bonus_Procedure
Consulte também