PARSE (Transact-SQL)
Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Конечная точка аналитики Synapse Analyticsв Хранилище Microsoft Fabric в Microsoft Fabric
Возвращает результат выражения, преобразованного в запрошенный тип данных в SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
PARSE ( string_value AS data_type [ USING culture ] )
Примечание.
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
string_value
Значение nvarchar(4000), представляющее форматированное значение для преобразования в указанный тип данных.
Значение string_value должно быть допустимым представлением требуемого типа данных, в противном случае инструкция PARSE выдаст ошибку.
data_type
Литеральное значение, представляющее тип данных, запрошенный в качестве для результата.
Язык и региональные параметры
Дополнительная строка, идентифицирующая культуру, в которой форматируется string_value.
Если аргумент culture не указан, то используется язык текущего сеанса. Язык может быть задан неявно или явно с использованием инструкции SET LANGUAGE. язык и региональные параметры, поддерживаемые платформа .NET Framework, не ограничиваются языками, явно поддерживаемыми SQL Server. Если аргумент culture недопустим, то PARSE выдаст ошибку.
Типы возвращаемых данных
Возвращает результат выражения, переведенный в требуемый тип данных.
Замечания
Значения NULL, передаваемые в качестве аргументов для PARSE, рассматриваются двумя способами:
Если передается константа NULL, возникает ошибка. Значение NULL не может быть преобразовано в другой тип данных с учетом культуры.
При передаче параметра со значением NULL во время выполнения происходит возврат значения NULL во избежание отмены всего пакета.
Используйте инструкцию PARSE только для преобразования данных из строкового типа в типы даты или времени и числовой тип. Для общих преобразований типов данных продолжайте использовать CAST и CONVERT. Следует учитывать, что разбор строкового значения приводит к некоторой потере производительности.
Для выполнения инструкции PARSE требуется среда CLR платформы .NET Framework.
Данная функция не будет работать удаленно, поскольку возможность ее работы зависит от наличия среды CLR. Удаленный вызов функции, требующей наличия среды CLR, приведет к ошибке на удаленном сервере.
Дополнительные сведения о параметре data_type
Значения параметра data_type ограничиваются списком типов, приведенным в следующей таблице, включая стили. Представленные сведения о стилях позволяют определить, какие типы шаблонов разрешены. Дополнительные сведения о стилях см. в документации по платформе .NET Framework для перечислений System.Globalization.NumberStyles и DateTimeStyles.
Категория | Тип | Тип .NET Framework | Используемые стили |
---|---|---|---|
Числовое | bigint | Int64 | NumberStyles.Number |
Числовое | INT | Int32 | NumberStyles.Number |
Числовое | smallint | Int16 | NumberStyles.Number |
Числовое | tinyint | Байт | NumberStyles.Number |
Числовое | десятичное | Decimal | NumberStyles.Number |
Числовое | numeric | Decimal | NumberStyles.Number |
Числовое | с плавающей запятой | Двойной | NumberStyles.Float |
Числовое | real | Одна | NumberStyles.Float |
Числовое | smallmoney | Decimal | NumberStyles.Currency |
Числовое | money | Decimal | NumberStyles.Currency |
Дата и время | Дата | Дата/время | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Дата и время | время | TimeSpan | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Дата и время | datetime | Дата/время | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Дата и время | smalldatetime | Дата/время | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Дата и время | datetime2 | Дата/время | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Дата и время | datetimeoffset | DateTimeOffset | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Дополнительные сведения о параметре культуры
В следующей таблице показаны сопоставления языков SQL Server с платформа .NET Framework языками и региональными параметрами.
ФИО | Псевдоним | LCID | Конкретная культура |
---|---|---|---|
us_english | Английский | 1033 | en-US |
Deutsch | немецкий | 1031 | de-DE |
Français | французский | 1036 | fr-FR |
日本語 | Японский | 1041 | ja-JP |
Dansk | датский | 1030 | da-DK |
Español | Испанский | 3082 | es-ES |
Italiano | Итальянский | 1040 | it-IT |
Nederlands | Голландский | 1043 | nl-NL |
Norsk | Норвежский | 2068 | nn-NO |
Português | Португальский | 2070 | pt-PT |
Suomi | Финский | 1035 | fi-FI |
Svenska | Шведский | 1053 | sv-SE |
čeština | Чешский | 1029 | Cs-CZ |
magyar | Венгерский | 1038 | Hu-HU |
polski | Польский | 1045 | Pl-PL |
română | Румынский | 1048 | Ro-RO |
hrvatski | Хорватский | 1050 | hr-HR |
slovenčina | Словацкий | 1051 | Sk-SK |
slovenski | Словенский | 1060 | Sl-SI |
ελληνικά | Греческий | 1032 | El-GR |
български | Болгарский | 1026 | bg-BG |
русский | русском языке | 1049 | Ru-RU |
Türkçe | Турецкий | 1055 | Tr-TR |
British | British English | 2057 | en-GB |
eesti | Эстонский | 1061 | Et-EE |
latviešu | Латышский | 1062 | lv-LV |
lietuvių | Литовский | 1063 | lt-LT |
Português (Brasil) | Бразильский | 1046 | pt-BR |
繁體中文 | Традиционный китайский | 1028 | zh-TW |
한국어 | Корейский | 1042 | Ko-KR |
简体中文 | Упрощенный китайский | 2052 | zh-CN |
Арабский | Арабский | 1025 | ar-SA |
ไทย | Тайский | 1054 | Th-TH |
Примеры
А. PARSE в datetime2
SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result;
Результирующий набор:
Result
---------------
2010-12-13 00:00:00.0000000
(1 row(s) affected)
B. PARSE с символом денежной единицы
SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;
Результирующий набор:
Result
---------------
345.98
(1 row(s) affected)
C. PARSE с неявным заданием языка
-- The English language is mapped to en-US specific culture
SET LANGUAGE 'English';
SELECT PARSE('12/16/2010' AS datetime2) AS Result;
Результирующий набор:
Result
---------------
2010-12-16 00:00:00.0000000
(1 row(s) affected)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по