Partilhar via


Constantes (Transact-SQL)

Aplica-se a:Banco de Dados SQL do SQL dodo AzureInstância Gerenciada SQL do Azuredo Azure Synapse Analyticsdo Analytics Platform System (PDW)banco de dados SQL no Microsoft Fabric

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

Observação

O termo constante no desenvolvimento de aplicativos e o conceito de constante de em Transact-SQL (T-SQL) não são os mesmos. Não há uma maneira específica de definir um valor estático global no T-SQL. As constantes em T-SQL são o equivalente a valores literais de cadeia de caracteres.

Constantes de cadeia de caracteres

As constantes de cadeia de caracteres são colocadas entre aspas simples e incluem caracteres alfanuméricos (a-z, A-Ze 0-9) e caracteres especiais, como ponto de exclamação (!), no sinal (@) e sinal numérico (#). As constantes de cadeia de caracteres recebem o agrupamento padrão do banco de dados atual. Se a cláusula COLLATE for usada, a conversão para a página de código padrão do banco de dados ainda acontecerá antes da conversão para o agrupamento especificado pela cláusula COLLATE. As cadeias de caracteres digitadas pelos usuários são avaliadas através da página de código do computador e são traduzidas para a página de código padrão do banco de dados, se necessário.

Observação

Quando um de agrupamento habilitado para UTF8 é especificado usando a cláusula COLLATE, a conversão para a página de código padrão do banco de dados ainda acontece antes da conversão para o agrupamento especificado pela cláusula COLLATE. A conversão não é feita diretamente para o agrupamento habilitado para Unicode especificado. Para obter mais informações, consulte cadeia de caracteres Unicode.

Se a opção QUOTED_IDENTIFIER tiver sido definida como OFF para uma conexão, as cadeias de caracteres também poderão ser colocadas entre aspas duplas, mas o Microsoft OLE DB Driver para SQL Server e Driver ODBC para SQL Server usar automaticamente SET QUOTED_IDENTIFIER ON. Recomendamos o uso de aspas simples.

Se uma cadeia de caracteres entre aspas simples contiver aspas incorporadas, represente as aspas simples incorporadas com duas aspas simples. Isso não é necessário em cadeias de caracteres incorporadas entre aspas duplas.

Seguem-se 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 no meio. No modo de compatibilidade 6.x, uma cadeia de caracteres vazia é tratada como um único espaço.

As constantes de cadeia de caracteres suportam agrupamentos de aprimorados.

Observação

Constantes de caracteres maiores que 8000 bytes são digitadas como varchar(max) dados.

Cadeias de caracteres Unicode

As cadeias de caracteres Unicode têm um formato semelhante às cadeias de caracteres, mas são prefixadas com um identificador N (N significa National Language no padrão SQL-92).

Importante

O prefixo N deve ser maiúsculo.

Por exemplo, 'Michél' é uma constante de caractere enquanto N'Michél' é uma constante Unicode. As constantes Unicode são interpretadas como dados Unicode e não são avaliadas usando 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. As constantes Unicode recebem o agrupamento padrão do banco de dados atual. Se a cláusula COLLATE for usada, a conversão para o agrupamento padrão do banco de dados ainda acontecerá antes da conversão para o agrupamento especificado pela cláusula COLLATE. Para obter mais informações, consulte Collation and Unicode Support.

As constantes de cadeia de caracteres Unicode suportam agrupamentos aprimorados.

Observação

Constantes Unicode maiores que 8000 bytes são digitadas como nvarchar(max) dados.

Constantes binárias

As constantes binárias têm o prefixo 0x e são uma cadeia de números hexadecimais. Eles não estão entre aspas.

A seguir estão exemplos de cadeias binárias são:

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

Observação

Constantes binárias maiores que 8000 bytes são digitadas como dados varbinary(max).

Constantes booleanas

As constantes booleanas (bit) são representadas pelos números 0 ou 1e não estão entre aspas. Se for usado um número maior que 1, ele será convertido em 1.

Constantes de data e hora

constantes de datetime são representadas usando valores de data de caracteres em formatos específicos, entre aspas simples.

Seguem-se exemplos de constantes de datetime:

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

Exemplos de constantes datetime são:

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

Constantes inteiras

As constantes inteiras (int) são representadas por uma cadeia de números que não estão entre aspas e não contêm pontos decimais. int constantes devem ser números inteiros; eles não podem conter decimais.

Seguem-se exemplos de constantes int:

1894
2

Constantes decimais

constantes de decimais são representadas por uma cadeia de números que não estão entre aspas e contêm um ponto decimal.

Seguem-se exemplos de constantes de decimais:

1894.1204
2.0

Constantes de ponto flutuante

flutuante e constantes de reais são representadas usando notação científica.

Seguem-se exemplos de flutuante ou valores de reais:

101.5E5
0.5E-2

Constantes de dinheiro

constantes de dinheiro são representadas como uma sequência de números com um ponto decimal opcional e um símbolo de moeda opcional como um prefixo. dinheiro constantes não estão entre aspas.

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

Observação

As vírgulas são ignoradas em qualquer lugar em um literal de cadeia de caracteres que é convertido para o dinheiro tipo de dados.

Seguem-se exemplos de dinheiro constantes:

$12
$542023.14
$-23

Constantes GUID

uniqueidentifier constantes são uma cadeia de caracteres que representa um GUID. Eles podem ser especificados em um formato de caracteres ou cadeia binária.

Os exemplos a seguir especificam o mesmo GUID:

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

Especificar números negativos e positivos

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

Assinado int expressões:

+145345234
-2147483648

Expressões de decimais assinadas :

+145345234.2234
-2147483648.10

Expressões de flutuação assinadas:

+123E-3
-12E5

Assinado dinheiro expressões:

-$45.56
+$423456.99

Agrupamentos aprimorados

O Mecanismo de Banco de Dados oferece suporte a constantes de caracteres e cadeias de caracteres Unicode que oferecem suporte a agrupamentos aprimorados. Para obter mais informações, consulte a cláusula COLLATE.