Иногда имеет дело с датой и временем в SQL может быть довольно сложно. Хотя дата и время на самом деле являются совершенно разными типами данных, они часто объединяются в тип данных datetime date. Дата и время SQL сами по себе довольно просты, но их слияние может оказаться одной из самых болезненных задач. В этой статье мы подробно узнаем о типе даты и времени SQL.
- Что такое тип данных DateTime?
- datetime Описание
- Преобразование других типов даты и времени в тип данных datetime
Что такое тип данных datetime?
В SQL дата и время Тип данных date используется для значений, содержащих как дату, так и время. Microsoft определяет его как дата в сочетании со временем дня с дробными секундами, основанными на 24-часовом формате .
В частности, SQL имеет много типов данных, которые объединяют представления даты и времени, что усложняет задачу. Наиболее широко используемым является DATETIME, поскольку он присутствует в более ранних версиях SQL. SQL извлекает и отображает значения DATETIME в формате «ГГГГ-ММ-ДД чч: мм: сс». Поддерживаемый диапазон: от «1753-01-01 00:00:00» до «9999-12-31 23: 59: 59.997». Давайте рассмотрим тип datetime более подробно.
datetime Описание
Пожалуйста, проверьте следующую таблицу, чтобы узнать больше о типе SQL datetime.
Свойство | Ценность |
Синтаксис | дата и время |
Применение | ОБЪЯВИТЬ @MyDatetimeдата и время СОЗДАТЬ ТАБЛИЦУ Table1 (Столбец1дата и время) |
Формат | ‘ГГГГ-ММ-ДД чч: мм: сс.ннн |
Временной диапазон | С 00:00:00 до 23:59: 59.997 |
Диапазоны элементов |
|
Размер хранилища объявление массива объектов в java | 8 байт |
Значение по умолчанию | 1900-01-01 00:00:00 |
Календарь | Григорианский (включает полный диапазон лет.) |
Заметка: Приведенные выше сведения относятся к типу datetime в Transact-SQL иSQL Server.
Так вот дата и время в SQL. Но что бы вы сделали, если бы у вас было другое свидание итипы времени, и вы должны преобразовать их в дата и время тип?
Преобразование других типов даты и времени в тип данных datetime
В дата и время тип данных в SQL включает дату и время с трехзначной долей секунд. Его точность округляется с шагом 0,000, 0,003 или 0,007 секунды. Итак, когда вы конвертируете Дата или время ценности для дата и время , к значению добавляется дополнительная информация. Это потому, что дата и время тип данных содержит дату и время. В этой части статьи объясняется, что происходит, когда другие Дата и время типы данных преобразуются в дата и время тип данных.
Пример 1: неявное преобразование между датой и датой и временем
ЗАЯВИТЬ @date date = '2020-12-01' ЗАЯВИТЬ @datetime datetime = @date
Результат
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Пример 2: неявное преобразование даты в дату и время с использованием CAST ()
DECLARE @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'
Результат
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Пример 3: неявное преобразование из smalldatetime в datetime
При преобразовании из s malldatetime введите часы и минуты. Для секунд и дробных секунд установлено значение 0. Следующий код показывает результаты преобразования smalldatetime ценность для дата и время ценность.
ЗАЯВИТЬ @smalldatetime smalldatetime = '2020-12-01 12:32' ЗАЯВИТЬ @datetime datetime = @smalldatetime ВЫБРАТЬ @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'
Результат
@datetime @smalldatetime ------------------------- --------------------- - 01 декабря 2016, 12:32: 00.000, 01 декабря 2016, 12:32:00
Точно так же вы можете конвертировать другие дата и время типы для datatime введите либо неявно, либо используя бросать() и конвертировать() методы. Для справки ознакомьтесь с таблицей ниже, чтобы ознакомиться с форматами всех типов даты и времени.
Тип данных | пример |
время | 12:35:29. 1234567 |
Дата | 2007-05-08 |
smalldatetime | 2007-05-08 12:35:00 |
дата и время | 2007-05-08, 12:35: 29.123 |
datetime2 | 2007-05-08 12:35:29. 1234567 |
datetimeoffset | 2007-05-08 12:35: 29.1234567 +12: 15 |
На этом мы подошли к концу статьи. Надеюсь, вы понимаете обсуждаемое здесь содержание. Убедитесь, что вы тренируетесь как можно больше и верните свой опыт.
Если вы хотите узнать больше о MySQL и познакомьтесь с этой реляционной базой данных с открытым исходным кодом, а затем ознакомьтесь с нашими который включает в себя живое обучение под руководством инструктора и опыт реальных проектов. Этот тренинг поможет вам глубже понять MySQL и достичь мастерства в этой теме.
Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев к статье «Процедуры в SQL», и мы свяжемся с вами.