В этом руководстве вы узнаете, как использовать функцию SQL Server TRY_PARSE() для преобразования строки в типы даты/времени и числа.
- Обзор функции SQL Server TRY_PARSE()
- Примеры функции SQL Server TRY_PARSE()
- 1) Пример использования функции SQL Server TRY_PARSE() для преобразования строки в дату
- 2) Пример использования функции SQL Server TRY_PARSE() для преобразования строки в число
- 3) Пример использования функции SQL Server TRY_PARSE() с выражением CASE
Обзор функции SQL Server TRY_PARSE()
Функция TRY_PARSE() используется для перевода результата выражения в запрошенный тип данных. Она возвращает NULL, если приведение не удается.
Вот синтаксис функции TRY_PARSE():
TRY_PARSE( expression AS data_type [ USING culture ] )
В этом синтаксисе:
- выражение возвращает строковое значение NVARCHAR(4000).
- data_type представляет собой тип данных, запрошенный для результата.
- culture — необязательная строка, указывающая культуру, в которой форматируется выражение. По умолчанию используется язык текущего сеанса. Обратите внимание, что культура не ограничивается теми, которые поддерживаются SQL; она может принимать любую культуру, поддерживаемую .NET Framework.
Примеры функции SQL Server TRY_PARSE()
Давайте рассмотрим несколько примеров использования функции TRY_PARSE().
1) Пример использования функции SQL Server TRY_PARSE() для преобразования строки в дату
В этом примере функция TRY_PARSE() используется для преобразования строки «14 апреля 2019 г.» в дату:
SELECT TRY_PARSE('14 April 2019' AS date) result;
Вот результат:
result ---------- 2019-04-14 (1 row affected)
2) Пример использования функции SQL Server TRY_PARSE() для преобразования строки в число
В следующем примере функция TRY_PARSE() используется для преобразования строки «-1250» в целое число:
SELECT TRY_PARSE('-1250' AS INT) result;
Ниже показан результат:
result ----------- -1250 (1 row affected)
Этот оператор возвращает NULL, поскольку функция TRY_PARSE() не может преобразовать строку «ABC» в десятичное число.
SELECT TRY_PARSE('ABC' AS DEC) result;
Вывод будет выглядеть так:
result ----------- NULL (1 row affected)
3) Пример использования функции SQL Server TRY_PARSE() с выражением CASE
В этом примере функция TRY_PARSE() с CASE используется для проверки выражения и возврата соответствующего сообщения в случае успешного или неудачного приведения.
SELECT CASE WHEN TRY_PARSE('Last year' AS DATE) IS NULL THEN 'Cast failed' ELSE 'Cast succeeded' END AS result;
Ниже показан результат:
result -------------------- Cast failed (1 row affected)
В этом руководстве вы узнали, как использовать функцию SQL Server TRY_PARSE() для преобразования строки в типы даты/времени и числа.