Compartir a través de


Constantes (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Una constante, también conocida como valor literal o escalar, es un símbolo que representa un valor de datos específico. El formato de las constantes depende del tipo de datos del valor que representan.

Nota:

El término constante en el desarrollo de aplicaciones y el concepto de una constante en Transact-SQL (T-SQL) no son iguales. No hay ninguna manera específica de establecer un valor estático global en T-SQL. Las constantes de T-SQL son equivalentes a los valores literales de cadena.

Constantes de cadena de caracteres

Las constantes de cadena de caracteres van entre comillas simples e incluyen caracteres alfanuméricos (a-z, A-Z y 0-9) y caracteres especiales, como el signo de exclamación (!), la arroba (@) y el signo de número (#). La intercalación predeterminada de la base de datos actual se asigna a las constantes de la cadena de caracteres. Si se utiliza la cláusula COLLATE, la conversión a la página de códigos predeterminada de la base de datos sigue teniendo lugar antes de la conversión a la intercalación especificada por la cláusula COLLATE. Las cadenas de caracteres tipadas por los usuarios se evalúan a través de la página de códigos del equipo y se traducen a la página de códigos predeterminada de la base de datos si es necesario.

Nota:

Cuando se especifica una intercalación habilitada para UTF8 mediante la cláusula COLLATE, la conversión a la página de códigos predeterminada de la base de datos sigue teniendo lugar antes de la conversión a la intercalación especificada por la cláusula COLLATE. La conversión no se realiza directamente en la intercalación unicode habilitada para Unicode especificada. Para obtener más información, vea Cadena de Unicode.

Si la opción QUOTED_IDENTIFIER se ha establecido en OFF para una conexión, las cadenas de caracteres también pueden encerrarse entre comillas dobles, pero Microsoft OLE DB Driver for SQL Server y ODBC Driver for SQL Server usan automáticamente SET QUOTED_IDENTIFIER ON. Se recomienda el uso de comillas simples.

Si una cadena de caracteres entre comillas simples contiene una comilla, represente la comilla interna con dos comillas simples. Esto no es necesario en las cadenas incluidas entre comillas dobles.

Éstos son algunos ejemplos de cadenas de caracteres:

'Cincinnati'
'O''Brien'
'Process X is 50% complete.'
'The level for job_id: %d should be between %d and %d.'
"O'Brien"

Las cadenas vacías se representan como dos comillas simples sin nada entre ellas. En el modo de compatibilidad 6.x, una cadena vacía se trata como un espacio.

Las constantes de cadena de caracteres admiten intercalaciones mejoradas.

Nota

Las constantes de caracteres con más de 8000 bytes se consideran como tipos de datos varchar(max).

Cadenas Unicode

Las cadenas Unicode tienen un formato similar al de las cadenas de caracteres, pero se utiliza en ellas el identificador N como prefijo (N es el idioma nacional en el estándar SQL-92).

Importante

El prefijo N tiene que estar en mayúsculas.

Por ejemplo, 'Michél' es una constante de caracteres, mientras que N'Michél' es una constante Unicode. Las constantes Unicode se interpretan como datos Unicode y no se evalúan mediante una página de códigos. Las constantes Unicode tienen intercalación. Esta intercalación controla principalmente las comparaciones y la distinción entre mayúsculas y minúsculas. La intercalación predeterminada de la base de datos actual se asigna a las constantes de Unicode. Si se utiliza la cláusula COLLATE, la conversión a la intercalación predeterminada de la base de datos sigue teniendo lugar antes de la conversión a la intercalación especificada por la cláusula COLLATE. Para más información, consulte Compatibilidad con la intercalación y Unicode.

Las constantes de cadena Unicode aceptan intercalaciones mejoradas.

Nota

Las constantes Unicode con más de 8000 bytes se consideran como tipos de datos nvarchar(max).

Constantes binarias

Las constantes binarias tienen el prefijo 0x y son cadenas de números hexadecimales. No se incluyen entre comillas.

Éstos son algunos ejemplos de cadenas binarias:

0xAE
0x12Ef
0x69048AEFDD010E
0x (empty binary string)

Nota

Las constantes binarias con más de 8000 bytes se consideran como tipos de datos varbinary(max).

Constantes booleanas

Las constantes booleanas (bit) se representan mediante los números o 1, y no se incluyen 0 entre comillas. Si se usa un número mayor que 1 , se convierte en 1.

Constantes de fecha y hora

Las constantes de tipo datetime se representan mediante valores de fecha en formatos específicos de cadenas de caracteres, y se incluyen entre comillas simples.

Estos son algunos ejemplos de constantes datetime:

'December 5, 1985'
'5 December, 1985'
'851205'
'12/5/98'

Ejemplos de constantes datetime:

'14:30:24'
'04:24 PM'

Constantes de enteros

Las constantes enteros (int) se representan mediante una cadena de números que no están entre comillas y no contienen puntos decimales. las constantes int deben ser números enteros; no pueden contener decimales.

A continuación se muestran ejemplos de constantes int :

1894
2

Constantes decimales

Las constantes de tipo decimal se representan mediante una cadena de números sin comillas y con separador decimal.

Estos son algunos ejemplos de constantes decimal:

1894.1204
2.0

Constantes de punto flotante

Las constantes de tipo float y real se representan en notación científica.

Estos son algunos ejemplos de valores de float o real:

101.5E5
0.5E-2

Constantes de dinero

Las constantes de tipo money se representan como una cadena de números con un separador decimal y un símbolo de moneda opcionales como prefijo. Las constantes de tipo money no se incluyen entre comillas.

SQL Server no impone ninguna clase de reglas de agrupamiento, como la inserción de una coma (,) cada tres dígitos, en las cadenas que representan dinero.

Nota

Las comas se omiten en cualquier parte de un literal de cadena que se convierte al tipo de datos money.

Estos son algunos ejemplos de constantes money:

$12
$542023.14
$-23

Constantes GUID

Las constantes de tipo uniqueidentifier son una cadena que representa un GUID. Se pueden especificar en formato de cadena de caracteres o binario.

Estos dos ejemplos especifican el mismo GUID:

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

Especificación de números negativos y positivos

Para indicar si un número es positivo o negativo, aplique los operadores unarios + o - a una constante numérica. Esto crea una expresión numérica que representa el valor numérico con signo. Las constantes numéricas usan positivos cuando no se aplican los operadores unarios + o -.

Expresiones int firmadas:

+145345234
-2147483648

Expresiones decimal con signo:

+145345234.2234
-2147483648.10

Expresiones float con signo:

+123E-3
-12E5

Expresiones money con signo:

-$45.56
+$423456.99

Intercalaciones mejoradas

Motor de base de datos admite las constantes de cadena de caracteres y Unicode compatibles con las intercalaciones mejoradas. Para obtener más información, consulte la cláusula COLLATE .