Compartir a través de


Constantes (Transact-SQL)

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.

  • 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 (#). A las constantes de cadena de caracteres se les asigna la intercalación predeterminada de la base de datos actual, a menos que se utilice la cláusula COLLATE para especificar una intercalación. Las cadenas de caracteres escritas por los usuarios se evalúan a través de la página de códigos del equipo y, si es necesario, se traducen a la página de códigos predeterminada de la base de datos.

    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 el proveedor de Microsoft SQL Server Native Client y el controlador ODBC utilizan 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 8.000 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 están precedidas por el identificador N (N es el idioma nacional en el estándar SQL-92). 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. A las constantes Unicode se les asigna la intercalación predeterminada de la base de datos actual, a menos que se utilice la cláusula COLLATE para especificar una intercalación. Los datos Unicode se almacenan con 2 bytes por carácter en lugar de 1 byte por carácter, como los datos de cadenas de caracteres. Para obtener más información, vea Usar datos Unicode.

    Las constantes de cadena Unicode aceptan intercalaciones mejoradas.

    [!NOTA]

    Las constantes Unicode con más de 8.000 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 8.000 bytes se consideran como tipos de datos varbinary(max).

  • Constantes bit
    Las constantes de tipo bit se representan con los números 0 ó 1, y no se incluyen entre comillas. Si se utiliza un número mayor que uno, se convierte en uno.

  • Constantes datetime
    Las constantes de tipo datetime se representan mediante valores de fecha en formatos específicos de cadenas de caracteres, incluidos entre comillas simples. Para obtener más información sobre los formatos de las constantes datetime, vea Usar datos de fecha y hora.

    Éstos son algunos ejemplos de constantes datetime:

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

    Ejemplos de constantes de hora:

    '14:30:24'
    '04:24 PM'
    
  • Constantes integer
    Las constantes de tipo integer se representan mediante una cadena de números sin comillas y sin separadores decimales. Las constantes integer deben ser números enteros y no pueden contener decimales.

    Éstos son algunos ejemplos de constantes integer:

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

    Éstos son algunos ejemplos de constantes decimal:

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

    Éstos son algunos ejemplos de valores de tipo float o real:

    101.5E5
    0.5E-2
    
  • Constantes money
    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 money no van entrecomilladas.

    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 no se tienen en cuenta en ningún lugar del valor literal money especificado.

    Éstos son algunos ejemplos de constantes money:

    $12
    $542023.14
    
  • Constantes uniqueidentifier
    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
    

Especificar números negativos y positivos

Para indicar si un número es positivo o negativo, aplique el operador unario + 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 son positivas si no se aplica el operador unario + o -.

  • Expresiones integer con signo:

    +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

SQL Server admite las constantes de cadena de caracteres y Unicode compatibles con las intercalaciones mejoradas. Para obtener más información, vea la cláusula COLLATE (Transact-SQL).