Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Система аналитической платформы (PDW)
SQL база данных в Microsoft Fabric
Константа, также называемая литералом или скалярным значением, представляет собой символ, означающий указанное значение типа данных. Формат константы зависит от типа данных значения, который она означает.
Note
Константа терминов в разработке приложений и концепция константы в Transact-SQL (T-SQL) не совпадают. В T-SQL нет определенного способа задать глобальное статическое значение. Константы в T-SQL эквивалентны строковым литеральным значениям.
Константы символьной строки
Константы строк символов заключены в одинарные кавычки и включают буквенно-цифровые символы (a-z,A-Z и0-9) и специальные символы, такие как восклицательный знак (!@), знак () и знак номера ().# Константам строки символов присваиваются параметры сортировки по умолчанию для текущей базы данных. Если используется предложение COLLATE, преобразование в кодовую страницу базы данных по умолчанию по-прежнему происходит перед преобразованием в параметры сортировки, заданные предложением COLLATE. Символьные строки, типизированные пользователями, оцениваются с помощью кодовой страницы компьютера и переводятся на кодовую страницу базы данных по умолчанию, если это необходимо.
Note
Если параметр сортировки с поддержкой 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 пустая строка рассматривается как одинарный пробел.
Константы символьной строки поддерживают расширенные параметры сортировки.
Note
Символьные константы длиной более 8000 байт относятся к типу данных varchar(max).
Строки Юникода
Строки Юникода имеют формат, аналогичный символьным строкам, но префиксируются идентификатором N (N обозначает национальный язык в стандарте SQL-92).
Important
Префикс N должен быть верхним регистром.
Например, 'Michél' является символьной константой, а N'Michél' является константой Юникода. Константы Юникода интерпретируются как данные Юникода и не оцениваются с помощью кодовой страницы. Константы в Юникоде имеют параметры сортировки. Этот параметр сортировки в основном управляет сравнением и учетом регистра. Константам Юникода присваиваются параметры сортировки по умолчанию для текущей базы данных. Если используется предложение COLLATE, преобразование в параметры сортировки базы данных по умолчанию по-прежнему происходит перед преобразованием в параметры сортировки, заданные предложением COLLATE. Дополнительные сведения см. в статье Collation and Unicode Support.
Константы в Юникоде поддерживают расширенные параметры сортировки.
Note
Константы в Юникоде длиной более 8000 байт относятся к типу данных nvarchar(max).
Бинарные константы
Двоичные константы начинаются с префикса 0x, за которым следует строка шестнадцатеричных чисел. Они не заключены в кавычки.
Ниже приведены примеры двоичных строк.
0xAE
0x12Ef
0x69048AEFDD010E
0x (empty binary string)
Note
Двоичные константы длиной более 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 не применяет какие-либо правила группирования, такие как вставка запятой (,) каждые три цифры в строках, представляющих деньги.
Note
Запятые игнорируются в любом месте строкового литерала, приведения к типу данных денег .
Ниже приведены примеры констант типа 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 .