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


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

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

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

Примечание.

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

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

Константы строк символов заключены в одинарные кавычки и включают буквенно-цифровые символы (a-z,ZA- и90-) и специальные символы, такие как восклицательный знак (!@), знак () и знак номера ().# Константам строки символов присваиваются параметры сортировки по умолчанию для текущей базы данных. Если используется предложение 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 .