DATE — Учебник SQL — Schoolsw3.com
❮ Назад Далее ❯
DATE
Самое сложное при работе с датами — это убедиться, что формат даты, которую вы пытаетесь вставить, совпадает с форматом столбца даты в базе данных.
Пока ваши данные содержат только часть даты, ваши запросы будут работать так, как и ожидалось. Однако, если задействована временная часть, все становится еще сложнее.
Типы данных даты
MySQL поставляется со следующими типами данных для хранения даты или значения даты/времени в базе данных:
- DATE — формат YYYY-MM-DD
- DATETIME — формат: YYYY-MM-DD HH:MI:SS
- TIMESTAMP — формат: YYYY-MM-DD HH:MI:SS
- YEAR — формат YYYY или YY
SQL Server поставляется со следующими типами данных для хранения даты или значения даты/времени в базе данных:
- DATE — формат YYYY-MM-DD
- DATETIME — формат: YYYY-MM-DD HH:MI:SS
- SMALLDATETIME — формат: YYYY-MM-DD HH:MI:SS
- TIMESTAMP — формат: уникальное число
Примечание: Типы дат выбираются для столбца при создании новой таблицы в базе данных!
Работа с датами
Вы можете легко сравнить две даты, если нет никакого компонента времени!
Предположим, что у нас есть следующая таблица «Orders»:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
Теперь мы хотим выбрать записи с порядковым номером «2008-11-11» из приведенной выше таблицы.
Мы используем следующую инструкцию SELECT:
SELECT * FROM Orders WHERE OrderDate=’2008-11-11′
Результирующий набор будет выглядеть следующим образом:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
Теперь предположим, что таблица «Orders» выглядит следующим образом (обратите внимание на компонент time в столбце «OrderDate»):
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | Camembert Pierrot | 2008-11-09 15:45:21 |
3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
Если мы используем тот же оператор SELECT, что и выше:
SELECT * FROM Orders WHERE OrderDate=’2008-11-11′
Мы не получим никакого результата! Это происходит потому, что запрос ищет только даты без временной части.
Совет: Чтобы ваши запросы были простыми и удобными в обслуживании, не допускайте компонентов времени в ваших датах!
❮ Назад Далее ❯
sql server — Промежуточные даты в sql
Попробуйте такой вариант. Немного добавил данных:
id | userId | Date | Summ | Wallet |
---|---|---|---|---|
1 | 72 | 13 | 20 | N |
2 | 72 | 13 | 20 | T |
3 | 72 | 15 | -20 | N |
4 | 72 | 16 | -20 | T |
5 | 26 | 15 | 10 | N |
6 | 26 | 15 | 10 | T |
7 | 26 | 18 | -10 | T |
8 | 26 | 21 | -10 | N |
9 | 101 | 2 | 20,00 | N |
10 | 101 | 2 | 7,00 | T |
11 | 101 | 2 | 20,00 | N |
12 | 101 | 5 | -40,00 | N |
13 | 101 | 4 | -3,00 | T |
14 | 101 | 6 | -4,00 | T |
Код:
-- Задаём период DECLARE @Date1 DATETIME = '20220101', @Date2 DATETIME = '20220131' -- Создаём табличку с тестовыми данными DECLARE @MovementTable TABLE ( Id INT IDENTITY(1,1), UserId INT, MoveDate DATETIME, -- нехорошо всё-таки имя столбца date называть, лучше в конце переименуем Summ MONEY, Wallet CHAR(1) ) -- Наполняем тестовыми данными INSERT @MovementTable SELECT * FROM (VALUES (72, '20220113', 20, 'N'), (72, '20220113', 20, 'T'), (72, '20220115', -20, 'N'), (72, '20220116', -20, 'T'), (26, '20220115', 10, 'N'), (26, '20220115', 10, 'T'), (26, '20220118', -10, 'T'), (26, '20220121', -10, 'N'), (101, '20220102', 20, 'N'), (101, '20220102', 7, 'T'), (101, '20220102', 20, 'N'), (101, '20220105', -40, 'N'), (101, '20220104', -3, 'T'), (101, '20220106', -4, 'T') ) T(UserId, MoveDate, Summ, Wallet) -- просматривает содержимое тестовых данных, потом удалить SELECT * FROM @MovementTable -- Собственно сам запрос ;WITH GenDates AS( SELECT @Date1 CalcDate UNION ALL SELECT CalcDate + 1 FROM GenDates WHERE CalcDate < @Date2 ) SELECT MT.Id, -- ид записи в исходной таблице GroupT.UserId, MT.CalcDate AS [Date], -- вот тут уже можно переименовать, если этого ворд ждёт MT.Summ, GroupT.Wallet FROM ( -- для каждой пары UserId-Wallet ищём диапазон дат SELECT UserId, Wallet, MIN(MoveDate)MinDate, MAX(MoveDate)MaxDate FROM @MovementTable MT GROUP BY UserId, Wallet ) GroupT CROSS APPLY( -- соединяем с последовательностью дат в этом диапазоне SELECT MT.*, GD.CalcDate FROM GenDates GD LEFT JOIN @MovementTable MT ON GroupT.UserId = MT.UserId AND GroupT.Wallet = MT.Wallet AND MT.MoveDate = GD.CalcDate WHERE GD.CalcDate BETWEEN GroupT.MinDate AND GroupT.MaxDate ) MT -- сортируем ORDER BY GroupT.UserId, GroupT.Wallet, MT.CalcDate, MT.Id OPTION (MAXRECURSION 3650)-- 10 лет думаю хватит :)
Результат:
Id | UserId | Date | Summ | Wallet |
---|---|---|---|---|
5 | 26 | 2022-01-15 00:00:00.000 | 10,00 | N |
NULL | 26 | 2022-01-16 00:00:00. | NULL | N |
NULL | 26 | 2022-01-17 00:00:00.000 | NULL | N |
NULL | 26 | 2022-01-18 00:00:00.000 | NULL | N |
NULL | 26 | 2022-01-19 00:00:00.000 | NULL | N |
NULL | 26 | 2022-01-20 00:00:00.000 | NULL | N |
8 | 26 | 2022-01-21 00:00:00.000 | -10,00 | N |
6 | 26 | 2022-01-15 00:00:00.000 | 10,00 | T |
NULL | 26 | 2022-01-16 00:00:00.000 | NULL | T |
NULL | 26 | 2022-01-17 00:00:00.000 | NULL | T |
7 | 26 | 2022-01-18 00:00:00.000 | -10,00 | T |
1 | 72 | 2022-01-13 00:00:00.000 | 20,00 | N |
NULL | 72 | 2022-01-14 00:00:00. 000 | NULL | N |
3 | 72 | 2022-01-15 00:00:00.000 | -20,00 | N |
2 | 72 | 2022-01-13 00:00:00.000 | 20,00 | T |
NULL | 72 | 2022-01-14 00:00:00.000 | NULL | T |
NULL | 72 | 2022-01-15 00:00:00.000 | NULL | T |
4 | 72 | 2022-01-16 00:00:00.000 | -20,00 | T |
9 | 101 | 2022-01-02 00:00:00.000 | 20,00 | N |
11 | 101 | 2022-01-02 00:00:00.000 | 20,00 | N |
NULL | 101 | 2022-01-03 00:00:00.000 | NULL | N |
NULL | 101 | 2022-01-04 00:00:00.000 | NULL | N |
12 | 101 | 2022-01-05 00:00:00.000 | -40,00 | N |
10 | 101 | 2022-01-02 00:00:00. 000 | 7,00 | T |
NULL | 101 | 2022-01-03 00:00:00.000 | NULL | T |
13 | 101 | 2022-01-04 00:00:00.000 | -3,00 | T |
NULL | 101 | 2022-01-05 00:00:00.000 | NULL | T |
14 | 101 | 2022-01-06 00:00:00.000 | -4,00 | T |
Функции даты в SQL Server и MySQL
❮ Предыдущая Далее ❯
Даты SQL
Самое сложное при работе с датами — убедиться, что формат даты, которую вы пытаетесь вставить, соответствует формату столбца даты в базе данных.
Пока ваши данные содержат только дату, ваши запросы будут работать должным образом. Однако, если задействована временная часть, она получает сложнее.
Типы данных даты SQL
MySQL поставляется со следующими типами данных для хранения даты или значения даты/времени в базе данных:
-
ДАТА
— формат ГГГГ-ММ-ДД -
ДАТАВРЕМЯ
— формат: ГГГГ-ММ-ДД ЧЧ:МИ:СС -
TIMESTAMP
— формат: ГГГГ-ММ-ДД ЧЧ:МИ:СС -
ГОД
— формат ГГГГ или ГГ
SQL Server поставляется со следующими типами данных для хранения даты или значения даты/времени в базе данных:
-
ДАТА
— формат ГГГГ-ММ-ДД -
ДАТАВРЕМЯ
— формат: ГГГГ-ММ-ДД ЧЧ:МИ:СС -
SMALLDATETIME
— формат: ГГГГ-ММ-ДД ЧЧ:МИ:СС -
TIMESTAMP
— формат: уникальный номер
Примечание: Типы дат выбираются для столбца при создании новой таблицы в базе данных!
SQL Работа с датами
Посмотрите на следующую таблицу:
Заказы Таблица
Идентификатор заказа | Название продукта | Дата заказа |
---|---|---|
1 | Гейтост | 11. 11.2008 |
2 | Камамбер Пьеро | 09.11.2008 |
3 | Моцарелла ди Джованни | 11.11.2008 |
4 | Маскарпоне Фабиоли | 29.10.2008 |
Теперь мы хотим выбрать записи с OrderDate «2008-11-11» из таблицы выше.
Мы используем следующий оператор SELECT
:
SELECT * FROM Orders WHERE OrderDate=’2008-11-11′
Набор результатов будет выглядеть следующим образом:
OrderId | Название продукта | Дата заказа |
---|---|---|
1 | Гейтост | 11.11.2008 |
3 | Моцарелла ди Джованни | 11.11.2008 |
Примечание: Две даты можно легко сравнить, если нет временной составляющей!
Теперь предположим, что таблица «Заказы» выглядит так (обратите внимание на добавлен компонент времени в столбце «Дата заказа»):
OrderId | Название продукта | Дата заказа |
---|---|---|
1 | Гейтост | 11-11-2008 13:23:44 |
2 | Камамбер Пьеро | 09. 11.2008 15:45:21 |
3 | Моцарелла ди Джованни | 11-11-2008 11:12:01 |
4 | Маскарпоне Фабиоли | 2008-10-29 14:56:59 |
Если мы используем тот же оператор SELECT
, что и выше:
SELECT * FROM Orders WHERE OrderDate=’2008-11-11′
, мы не получим никакого результата! Это связано с тем, что запрос ищет только даты без временной части.
Совет: Чтобы ваши запросы были простыми и легкими в обслуживании, не используйте компоненты времени в датах, если в этом нет необходимости!
❮ Предыдущий Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебник по HTMLУчебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
3 902
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3. CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery
Основные примеры
Примеры HTMLПримеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools использует W3.CSS.
Типы данных и функции даты и времени — SQL Server (Transact-SQL)
- Статья
- 7 минут на чтение
Применяется к: SQL Server База данных SQL Azure Azure SQL Управляемый экземпляр Azure Synapse Analytics
Разделы этой статьи охватывают все типы данных и функции даты и времени Transact-SQL.
- Типы данных даты и времени
- Функции даты и времени
- Функции, возвращающие системные значения даты и времени
- Функции, возвращающие части даты и времени
- Функции, которые возвращают значения даты и времени из своих частей
- Функции, возвращающие значения даты и разницы во времени
- Функции, изменяющие значения даты и времени
- Функции, которые устанавливают или возвращают функции формата сеанса
- Функции, проверяющие значения даты и времени
- Статьи, связанные с датой и временем
Типы данных даты и времени
Типы данных даты и времени Transact-SQL перечислены в следующей таблице:
Тип данных | Формат | Диапазон | Точность | Размер хранилища (байты) | Определяемая пользователем точность долей секунды | Смещение часового пояса |
---|---|---|---|---|---|---|
время | чч:мм:сс[. nnnnnn] | 00:00:00.0000000 до 23:59:59.9999999 | 100 наносекунд | от 3 до 5 | Да | № |
дата | ГГГГ-ММ-ДД | 0001-01-01 по 9999-12-31 | 1 день | 3 | № | № |
малая дата и время | ГГГГ-ММ-ДД чч:мм:сс | 1900-01-01 по 2079-06-06 | 1 минута | 4 | № | № |
дата-время | ГГГГ-ММ-ДД чч:мм:сс[.nnn] | 1753-01-01 по 9999-12-31 | 0,00333 секунды | 8 | № | № |
дата-время2 | ГГГГ-ММ-ДД чч:мм:сс[.nnnnnn] | 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999 | 100 наносекунд | от 6 до 8 | Да | № |
смещение даты и времени | ГГГГ-ММ-ДД чч:мм:сс[.нннннн] [+|-]чч:мм | 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59. 9999999 (в формате UTC) | 100 наносекунд | от 8 до 10 | Да | Да |
Примечание
Тип данных rowversion в Transact-SQL не является типом данных даты или времени. отметка времени является устаревшим синонимом для rowversion .
Функции даты и времени
В следующих таблицах перечислены функции даты и времени Transact-SQL. Дополнительные сведения о детерминизме см. в разделе Детерминированные и недетерминированные функции.
Функции, возвращающие системные значения даты и времени
Transact-SQL извлекает все системные значения даты и времени из операционной системы компьютера, на котором работает экземпляр SQL Server.
Более точные системные функции даты и времени
Начиная с SQL Server 2008 (10.0.x), компонент Database Engine извлекает значения даты и времени с помощью Windows API GetSystemTimeAsFileTime(). Точность зависит от аппаратного обеспечения компьютера и версии Windows, на которой работает экземпляр SQL Server. Этот API имеет фиксированную точность в 100 наносекунд. Используйте Windows API GetSystemTimeAdjustment() для определения точности.
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм |
---|---|---|---|---|
SYSDATETIME | SYSDATETIME ( ) | Возвращает значение datetime2(7) , содержащее дату и время компьютера, на котором работает экземпляр SQL Server. Возвращаемое значение не включает смещение часового пояса. | дата/время2(7) | Недетерминированный |
SYSDATETIMEOFFSET | SYSDATETIMEOFFSET ( ) | Возвращает значение datetimeoffset(7) , содержащее дату и время компьютера, на котором работает экземпляр SQL Server. Возвращаемое значение включает смещение часового пояса. | смещение даты и времени(7) | Недетерминированный |
SYSUTCDATETIME | SYSUTCDATETIME ( ) | Возвращает значение datetime2(7) , содержащее дату и время компьютера, на котором запущен экземпляр SQL Server. Функция возвращает значения даты и времени в виде времени UTC (Всемирное скоординированное время). | дата/время2(7) | Недетерминированный |
Функции системной даты и времени более низкой точности
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм |
---|---|---|---|---|
CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | Возвращает значение datetime , содержащее дату и время компьютера, на котором работает экземпляр SQL Server. Возвращаемое значение не включает смещение часового пояса. | дата-время | Недетерминированный |
ПОЛУЧИТЬ ДАТУ | ПОЛУЧИТЬДАТУ ( ) | Возвращает значение datetime , содержащее дату и время компьютера, на котором работает экземпляр SQL Server. Возвращаемое значение не включает смещение часового пояса. | дата-время | Недетерминированный |
ПОЛУЧИТЬ ДАТУ | ПОЛУЧИТЬ ДАТУ ( ) | Возвращает дату и время , содержащее дату и время компьютера, на котором работает экземпляр SQL Server. Функция возвращает значения даты и времени в виде времени UTC (Всемирное скоординированное время). | дата-время | Недетерминированный |
Функции, возвращающие части даты и времени
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм |
---|---|---|---|---|
DATE_BUCKET | DATE_BUCKET ( датапарт , номер , дата , происхождение ) | Возвращает значение, соответствующее началу каждого сегмента даты и времени из метки времени, определенной параметром источника , или значение источника по умолчанию 1900-01-01 00:00:00. 000 , если параметр источника не указано. | Тип возвращаемого значения зависит от аргумента, предоставленного для даты . | Недетерминированный |
ДАТАИМЯ | ДАТАИМЯ ( датачасть , дата ) | Возвращает строку символов, представляющую указанную датучасть указанной даты. | нварчар | Недетерминированный |
ДАТАЧАСТЬ | DATEPART ( датапарт , дата ) | Возвращает целое число, представляющее указанную часть даты из указанных дата . | внутр. | Недетерминированный |
ДАТЕТРУНК | DATETRUNC ( дата, часть , дата, ) | Возвращает входную дату , усеченную до указанной части даты . | Тип возвращаемого значения зависит от аргумента, предоставленного для даты . | Недетерминированный |
ДЕНЬ | ДЕНЬ ( дата ) | Возвращает целое число, представляющее дневную часть указанного числа 9.0619 дата . | внутр. | Детерминированный |
МЕСЯЦ | МЕСЯЦ ( дата ) | Возвращает целое число, представляющее месячную часть указанной даты . | внутр. | Детерминированный |
ГОД | ГОД ( дата ) | Возвращает целое число, представляющее часть года указанной даты . | ряд | Детерминированный |
Функции, возвращающие значения даты и времени из своих частей
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм | |
---|---|---|---|---|---|
DATEFROMPARTS | DATEFROMPARTS ( год , месяц , день ) | Возвращает значение даты для указанного года, месяца и дня. | дата | Детерминированный | |
ДАТАВРЕМЯ2ОТ ЧАСТЕЙ | DATETIME2FROMPARTS ( год , месяц , день , час , минут , секунд , дробей0, точность 1) | Возвращает значение datetime2 для указанной даты и времени с указанной точностью. | дата-время2 ( точность ) | Детерминированный | |
ДАТАВРЕМЯ ОТ ЧАСТЕЙ | DATETIMEFROMPARTS ( год , месяц , день , час , минут , секунд , миллисекунд ) | Возвращает значение datetime для указанной даты и времени. | дата-время | Детерминированный | |
DATETIMEOFFSETFROMPARTS | DATETIMEOFFSETFROMPARTS ( year , month , day , hour , minute , seconds , fractions , hour_offset , minute_offset , precision ) | Возвращает значение datetimeoffset для указанной даты и времени с указанными смещениями и точностью. | смещение даты и времени ( точность ) | Детерминированный | |
SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( год , месяц , день , час , минут ) | Возвращает значение smalldatetime для указанных даты и времени. | малая дата и время | Детерминированный | |
TIMEFROMPARTS | TIMEFROMPARTS ( час , минут , секунд , дробей , точность ) | Возвращает время значение для указанного времени с указанной точностью. | время( точность ) | Детерминированный |
Функции, возвращающие значения даты и разницы во времени
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм |
---|---|---|---|---|
РАЗНИЦА ДАТЫ | DATEDIFF ( дата, часть , дата начала , дата окончания ) | Возвращает количество дат или временных границ datepart , пересекаемых между двумя указанными датами. | внутр. | Детерминированный |
DATEDIFF_BIG | DATEDIFF_BIG ( datepart , startdate , enddate ) | Возвращает количество дат или временных границ datepart , пересекаемых между двумя указанными датами. | большой | Детерминированный |
Функции, изменяющие значения даты и времени
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм |
---|---|---|---|---|
ДАТАДОБАВИТЬ | DATEADD ( датачасть , номер , дата ) | Возвращает новое значение datetime , добавляя интервал к указанному дата часть указанной дата . | Тип данных аргумента даты | Детерминированный |
КОНМЕСЯЦ | КОНМЕСЯЦА ( дата_начала [ месяц_до_добавления ] ) | Возвращает последний день месяца, содержащего указанную дату, с необязательным смещением. | Тип возвращаемого значения — это тип аргумента start_date или, альтернативно, тип данных date . | Детерминированный |
ПЕРЕКЛЮЧАТЕЛЬ | SWITCHOFFSET ( DATETIMEOFFSET , часовой пояс ) | SWITCHOFFSET изменяет смещение часового пояса значения DATETIMEOFFSET и сохраняет значение UTC. | datetimeoffset с дробной точностью DATETIMEOFFSET | Детерминированный |
TODATETIMEOFFSET | TODATETIMEOFFSET (выражение , часовой пояс ) | TODATETIMEOFFSET преобразует значение datetime2 в значение datetimeoffset. TODATETIMEOFFSET интерпретирует значение datetime2 по местному времени для указанного часового пояса. | datetimeoffset с дробной точностью аргумента datetime | Детерминированный |
Функции, которые устанавливают или возвращают функции формата сеанса
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм |
---|---|---|---|---|
@@DATEFIRST | @@DATEFIRST | Возвращает текущее значение для сеанса SET DATEFIRST. | крошечный | Недетерминированный |
УСТАНОВИТЬ ПЕРВУЮ ДАТУ | УСТАНОВИТЬ ДАТУПЕРВЫЙ { номер | @ номер_вар } | Устанавливает первый день недели в число от 1 до 7. | Неприменимо | Неприменимо |
УСТАНОВИТЬ ФОРМАТ ДАТЫ | УСТАНОВИТЬ ФОРМАТ ДАТЫ { формат | @ format_var } | Устанавливает порядок частей даты (месяц/день/год) для ввода данных datetime или smalldatetime . | Неприменимо | Неприменимо |
@@ЯЗЫК | @@ЯЗЫК | Возвращает название используемого языка. @@LANGUAGE не является функцией даты или времени. Однако настройка языка может повлиять на вывод функций даты. | Неприменимо | Неприменимо |
НАСТРОЙКА ЯЗЫКА | УСТАНОВИТЬ ЯЗЫК { [ N ] ‘ язык ‘ | @ language_var } | Задает языковую среду для сеанса и системных сообщений. SET LANGUAGE не является функцией даты или времени. Однако настройка языка влияет на вывод функций даты. | Неприменимо | Неприменимо |
sp_helplanguage | sp_helplanguage [ [ @language = ] ‘ язык ‘ ] | Возвращает информацию о форматах даты для всех поддерживаемых языков. sp_helplanguage не является хранимой процедурой даты или времени. Однако настройка языка влияет на вывод функций даты. | Неприменимо | Неприменимо |
Функции, проверяющие значения даты и времени
Функция | Синтаксис | Возвращаемое значение | Тип возвращаемых данных | Детерминизм |
---|---|---|---|---|
ИСДАТА | ISDATE (выражение ) | Определяет, имеет ли входное выражение datetime или smalldatetime допустимое значение даты или времени. | внутр. | ISDATE является детерминированным, используется только с функцией CONVERT, когда указан параметр стиля CONVERT и когда стиль не равен 0, 100, 9, или 109. |
Артикул | Описание |
---|---|
ФОРМАТ | Возвращает значение, отформатированное в указанном формате и с дополнительными культурными параметрами. Используйте функцию FORMAT для форматирования дат/времени и числовых значений в виде строк с учетом региональных настроек. |
ПРИведение и ПРЕОБРАЗОВАНИЕ (Transact-SQL) | Предоставляет информацию о преобразовании значений даты и времени в строковые литералы и из них, а также в других форматах даты и времени. |
Запись международных операторов Transact-SQL | Содержит рекомендации по переносу баз данных и приложений баз данных, использующих операторы Transact-SQL с одного языка на другой или поддерживающих несколько языков. |