Compartir a través de


Constantes (motor de base de datos)

Una constante es un símbolo que representa el valor específico de un dato. El formato de las constantes depende del tipo de datos del valor que representa. Las constantes se llaman también literales. En las siguientes tablas se muestran algunos ejemplos del uso de las constantes.

Constantes usadas en

Ejemplo

Cadenas de caracteres

'O''Brien'

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

Cadenas Unicode

N'Michl'

Constantes de cadenas binarias

0x12Ef

0x69048AEFDD010E

Constantes bit

0 o 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 y real

101.5E5

0.5E-2

Constantes money

$12

$542023.14

Constantes uniqueidentifier

0xff19966f868b11d0b42d00c04fc964ff

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

Para las constantes numéricas, use los operadores unarios + y - cuando sea necesario especificar el signo del valor numérico:

+$156.45
-73.52E8
-129.42
+442

Las constantes de carácter y Unicode se asignan a la intercalación predeterminada de la base de datos actual, a menos que asigne una intercalación específica mediante la cláusula COLLATE, por ejemplo:

'abc' COLLATE French_CI_AI
N'lustig' COLLATE German_Phonebook_CS_AS

Usar constantes en Transact-SQL

Las constantes se pueden usar de muchas formas en Transact-SQL. A continuación se muestran algunos ejemplos:

  • Como un valor constante en una expresión aritmética:

    SELECT Price + $.10
    FROM MyTable
    
  • Como el valor de datos con el que se compara una columna en una cláusula WHERE:

    SELECT *
    FROM MyTable
    WHERE LastName = 'O''Brien'
    
  • Como el valor de datos que se va a colocar en una variable:

    SET @DecimalVar = -1200.02
    
  • Como el valor de datos que debe colocarse en una columna de la fila actual. Esto se especifica con la cláusula SET de la instrucción UPDATE o la cláusula VALUES de una instrucción INSERT:

    UPDATE MyTable
    SET Price = $99.99
    WHERE PartNmbr = 1234
    INSERT INTO MyTable VALUES (1235, $88.88)
    
  • Como la cadena de caracteres que especifica el texto del mensaje emitido por una instrucción PRINT o RAISERROR:

    PRINT 'This is a message.'
    
  • Como el valor que se va a probar en una instrucción condicional, como, por ejemplo, una instrucción IF o funciones CASE:

    IF (@@SALESTOTAL > $100000.00)
       EXECUTE Give_Bonus_Procedure