Partilhar via


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 incorporada, represente a aspa simples incorporada com duas aspas simples. Isso não é necessário em cadeias de caracteres incorporadas 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 Usando dados 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. Para obter mais informações sobre os formatos para constantes datetime, consulte Usando dados de data e hora.

    Os seguintes 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 incluídos entre aspas e não contêm pontos decimais. As 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 incluídas entre 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).