Constantes (Transact-SQL)

Uma constante, também conhecida como uma literal ou um valor escalar, é 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.

  • Constantes de cadeia de caracteres
    As constantes de cadeias de caracteres são incluídas entre aspas simples e incluem caracteres alfanuméricos (a-z, A-Z e 0-9) e caracteres especiais, como ponto de exclamação (!), arroba (@) e sinal numérico (#). Às constantes de cadeias de caracteres é atribuído o agrupamento padrão do banco de dados atual, a menos que a cláusula COLLATE seja usada para especificar um agrupamento. As cadeias de caracteres digitadas por usuários são avaliadas pela página de código do computador e são convertidas na página de código padrão do banco de dados, se isso for necessário.

    Se a opção QUOTED_IDENTIFIER foi definida como OFF para uma conexão, as cadeias de caracteres também podem ser incluídas entre aspas duplas, mas o Microsoft SQL Server Native Client Provider e o driver ODBC usam automaticamente SET QUOTED_IDENTIFIER ON. Recomenda-se usar aspas simples.

    Se uma cadeia de caracteres incluída entre aspas simples contiver uma aspa inserida, represente a aspa simples inserida com duas aspas simples. Isso não é necessário em cadeias de caracteres inseridas em aspas duplas.

    Os seguintes são exemplos de cadeias de caracteres:

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

    As cadeias de caracteres vazias são representadas como duas aspas simples sem nada entre elas. No modo de compatibilidade 6.x, uma cadeia de caracteres vazia é tratada como um único espaço.

    As constantes de cadeia de caracteres oferecem suporte a agrupamentos avançados.

    ObservaçãoObservação

    As constantes de caracteres maiores que 8000 bytes recebem o tipo de dados varchar(max).

  • Cadeias de caracteres Unicode
    As cadeias de caracteres Unicode têm um formato semelhante ao das cadeias de caracteres, mas são precedidas por um identificador N (N significa National Language no padrão SQL-92). O prefixo N deve ser maiúsculo. Por exemplo, 'Michél' é uma constante de caracteres, enquanto N'Michél' é uma constante Unicode. As constantes Unicode são interpretadas como dados Unicode e não são avaliadas com o uso de uma página de código. As constantes Unicode têm um agrupamento. Esse agrupamento controla principalmente comparações e diferenciação de maiúsculas e minúsculas. Às constantes Unicode é atribuído o agrupamento padrão do banco de dados atual, a menos que a cláusula COLLATE seja usada para especificar um agrupamento. Os dados Unicode são armazenados usando 2 bytes por caractere, em vez de 1 byte por caractere para dados de caractere. Para obter mais informações, consulte Suporte a agrupamentos e a Unicode.

    As constantes da cadeira de caracteres Unicode oferecem suporte a agrupamentos avançados.

    ObservaçãoObservação

    As constantes Unicode maiores que 8000 bytes recebem o tipo de dados nvarchar(max).

  • Constantes binárias
    As constantes binárias têm o prefixo 0x e são uma cadeia de números hexadecimais. Elas não são incluídas entre aspas.

    Os seguintes são exemplos de cadeias binárias:

    0xAE
    0x12Ef
    0x69048AEFDD010E
    0x  (empty binary string)
    
    ObservaçãoObservação

    As constantes binárias maiores que 8000 bytes recebem o tipo de dados varbinary(max).

  • Constantes bit
    As constantes bit são representadas pelos números 0 ou 1 e não são incluídas entre aspas. Se um número maior que um for usado, ele será convertido em um.

  • Constantes datetime
    As constantes datetime são representadas usando valores de data de caractere em formatos específicos, incluídos entre aspas simples.

    Estes são exemplos de constantes datetime:

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

    Estes são exemplos de constantes de hora:

    '14:30:24'
    '04:24 PM'
    
  • Constantes integer
    As constantes integer são representadas por uma cadeia de números que não são delimitados por aspas e não contêm pontos decimais. Constantes integer devem ser números inteiros; elas não podem conter decimais.

    Os seguintes são exemplos de constantes integer:

    1894
    2
    
  • Constantes decimal
    As constantes decimal são representadas por uma cadeia de números que não são incluídos entre aspas e contêm um ponto decimal.

    Os seguintes são exemplos de constantes decimal:

    1894.1204
    2.0
    
  • Constantes float e real
    As constantes float e real são representadas usando notação científica.

    Os seguintes são exemplos de valores float ou real:

    101.5E5
    0.5E-2
    
  • Constantes money
    As constantes money são representadas como cadeias de números com um ponto decimal opcional e um símbolo monetário opcional como prefixo. As constantes money não são delimitadas por aspas.

    O SQL Server não impõe nenhum tipo de regra de agrupamento, tal como a inserção de uma vírgula (,) a cada três dígitos em cadeias que representam dinheiro.

    ObservaçãoObservação

    As vírgulas são ignoradas em qualquer lugar na literal money especificada.

    Os seguintes são exemplos de constantes money:

    $12
    $542023.14
    
  • Constantes uniqueidentifier
    As constantes uniqueidentifier são uma cadeia de caracteres que representa um GUID. Elas podem ser especificadas em um formato de caractere ou cadeia de binários.

    Os exemplos a seguir especificam o mesmo GUID:

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

Especificando números negativos e positivos

Para indicar se um número é positivo ou negativo, aplique os operadores unários + ou - a uma constante numérica. Isso cria uma expressão numérica que representa o valor numérico com sinal. As constantes numéricas usam positivo quando os operadores unários + ou - não são aplicados.

  • Expressões integer com sinal:

    +145345234
    -2147483648
    
  • Expressões decimal com sinal:

    +145345234.2234
    -2147483648.10
    
  • Expressões float com sinal:

    +123E-3
    -12E5
    
  • Expressões money com sinal:

    -$45.56
    +$423456.99
    

Agrupamentos avançados

O SQL Server oferece suporte a constantes de cadeias de caractere e Unicode que aceitam agrupamentos avançados. Para obter mais informações, consulte a cláusula COLLATE (Transact-SQL).

Consulte também

Referência

Tipos de dados (Transact-SQL)

Expressões (Transact-SQL)

Operadores (Transact-SQL)