Поделиться через


Константы (Transact-SQL)

применимо:Базе данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsПлатформенная система аналитики (PDW)базы данных SQL в Microsoft Fabric

Константа, также называемая литералом или скалярным значением, представляет собой символ, означающий указанное значение типа данных. Формат константы зависит от типа данных значения, который она означает.

Примечание.

Константа терминов в разработке приложений и концепция константы в Transact-SQL (T-SQL) не совпадают. В T-SQL нет определенного способа задать глобальное статическое значение. Константы в T-SQL эквивалентны строковым литеральным значениям.

Константы символьной строки

Константы строк символов заключены в одинарные кавычки и включают буквенно-цифровые символы (a-z,A-Z и0-9) и специальные символы, такие как восклицательный знак (!@), знак () и знак номера ().# Константам строки символов присваиваются параметры сортировки по умолчанию для текущей базы данных. Если используется предложение COLLATE, преобразование в кодовую страницу базы данных по умолчанию по-прежнему происходит перед преобразованием в параметры сортировки, заданные предложением COLLATE. Символьные строки, типизированные пользователями, оцениваются с помощью кодовой страницы компьютера и переводятся на кодовую страницу базы данных по умолчанию, если это необходимо.

Примечание.

Если параметр сортировки с поддержкой UTF8 указан с помощью предложения COLLATE, преобразование в кодовую страницу базы данных по умолчанию по-прежнему происходит перед преобразованием в параметры сортировки, заданные предложением COLLATE. Преобразование не выполняется непосредственно в указанное параметры сортировки с поддержкой Юникода. Дополнительные сведения см. в разделе Строка в Юникоде.

Если для соединения параметр QUOTED_IDENTIFIER содержит значение OFF, то символьные строки также могут заключаться в двойные кавычки, однако Microsoft OLE DB Driver for SQL Server и ODBC Driver for SQL Server автоматически используют SET QUOTED_IDENTIFIER ON. Рекомендуется использовать одинарные кавычки.

Если символьная строка, заключенная в одинарные кавычки, содержит также внедренную одинарную кавычку, то эту кавычку необходимо заключить в дополнительные одинарные кавычки. Это не обязательно в строках, внедренных в двойные кавычки.

Ниже приведены примеры символьных строк.

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

Пустые строки представляются в виде двух последовательных одинарных кавычек. В режиме совместимости с версией 6.x пустая строка рассматривается как одинарный пробел.

Константы символьной строки поддерживают расширенные параметры сортировки.

Примечание.

Символьные константы длиной более 8000 байт относятся к типу данных varchar(max).

Строки в Юникоде

Строки Юникода имеют формат, аналогичный символьным строкам, но префиксируются идентификатором N (N обозначает национальный язык в стандарте SQL-92).

Внимание

Префикс N должен быть верхним регистром.

Например, 'Michél' является символьной константой, а N'Michél' является константой Юникода. Константы Юникода интерпретируются как данные Юникода и не оцениваются с помощью кодовой страницы. Константы в Юникоде имеют параметры сортировки. Этот параметр сортировки в основном управляет сравнением и учетом регистра. Константам Юникода присваиваются параметры сортировки по умолчанию для текущей базы данных. Если используется предложение COLLATE, преобразование в параметры сортировки базы данных по умолчанию по-прежнему происходит перед преобразованием в параметры сортировки, заданные предложением COLLATE. Дополнительные сведения см. в статье Collation and Unicode Support.

Константы в Юникоде поддерживают расширенные параметры сортировки.

Примечание.

Константы в Юникоде длиной более 8000 байт относятся к типу данных nvarchar(max).

Двоичные константы

Двоичные константы начинаются с префикса 0x, за которым следует строка шестнадцатеричных чисел. Они не заключены в кавычки.

Ниже приведены примеры двоичных строк.

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

Примечание.

Двоичные константы длиной более 8000 байт относятся к типу данных varbinary(max).

Логические константы

Логические константы (bit) представлены числами 0 или 1не заключены в кавычки. Если число больше 1 используемого, оно преобразуется в 1.

Константы даты и времени

Константы типа datetime задаются с помощью символьных значений даты специального формата, заключенных в одинарные кавычки.

Ниже приведены примеры констант типа datetime.

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

Примеры констант типа datetime:

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

Целые константы

Целочисленные константы (int) представлены строкой чисел, которые не заключены в кавычки и не содержат десятичные знаки. Константы int должны быть целыми числами; они не могут содержать десятичные знаки.

Ниже приведены примеры констант int :

1894
2

Десятичные константы

десятичные константы представлены строкой чисел, которые не заключены в кавычки и содержат десятичную точку.

Ниже приведены примеры констант типа decimal.

1894.1204
2.0

Константы с плавающей запятой

Константы типов float и real представляются в экспоненциальной форме.

Ниже приведены примеры значений типа float или real:

101.5E5
0.5E-2

Константы денег

Константы типа money состоят из числовых строк, которые могут содержать десятичный разделитель и префикс в виде знака валюты. Константы денег не заключены в кавычки.

SQL Server не применяет какие-либо правила группирования, такие как вставка запятой (,) каждые три цифры в строках, представляющих деньги.

Примечание.

Запятые игнорируются в любом месте строкового литерала, приведения к типу данных денег .

Ниже приведены примеры констант типа money.

$12
$542023.14
$-23

Константы GUID

Константы типа uniqueidentifier состоят из строки, представляющей идентификатор GUID. Константы этого типа могут указываться с помощью символьного или двоичного символьного формата.

Следующие примеры представляют один и тот же идентификатор GUID.

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

Указание отрицательных и положительных чисел

Чтобы указать, положительное ли число или отрицательное, к числовым константам применяются унарные операторы + и -. Таким образом создается числовое выражение, представляющее числовое значение со знаком. Числовые константы используют положительные значения, если + не применяются унарные - операторы.

Подписанные выражения int :

+145345234
-2147483648

Выражения типа decimal со знаком:

+145345234.2234
-2147483648.10

Выражения типа float со знаком:

+123E-3
-12E5

Выражения типа money со знаком:

-$45.56
+$423456.99

Расширенные параметры сортировки

Ядро СУБД поддерживает константы строк символов и Юникода, поддерживающие расширенные параметры сортировки. Дополнительные сведения см. в предложении COLLATE .