SQL Datetime: Всичко, което трябва да знаете



Тази статия за sql datetime ще ви помогне да разберете как да въвеждате datetime, както и как да конвертирате от други типове дата и час в datetime

Понякога се занимава с дата и час в SQL може да бъде доста сложно. Въпреки че датата и часът всъщност са напълно различни типове данни, те често се обединяват в тип данни за дата и час. SQL дати и часове сами са доста прости, но обединяването на двете може да бъде една от най-болезнените задачи. В тази статия ще научите подробно за типа дата и час на SQL.

Какъв е типът данни за дата и час?

В SQL, Време за среща типът дата се използва за стойности, които съдържат както дата, така и час. Microsoft го определя като a дата, комбинирана с час от деня с частични секунди, който се основава на 24-часов часовник .





По-конкретно SQL, има много типове данни, които комбинират представяне на дата и час, което прави нещата по-сложни. Най-широко използваният е DATETIME, тъй като присъства от по-ранните версии на SQL. SQL извлича и показва стойности на DATETIME във формат „ГГГГ-ММ-ДД чч: мм: сс“. Поддържаният диапазон е от „1753-01-01 00:00:00“ до „9999-12-31 23: 59: 59.997“. Нека разгледаме типа дата и час по-подробно.

datetime Описание

Моля, проверете следната таблица, за да научите повече за типа дата и час на SQL.



Имот Стойност

Синтаксис

Време за среща

Употреба



ДЕКЛАРИРАТЕ @MyDatetimeВреме за среща

СЪЗДАЙТЕ ТАБЛИЦА Таблица1 (Колона1Време за среща)

Формат

‘ГГГГ-ММ-ДД чч: мм: ss.nnn

Времеви интервал

00:00:00 до 23: 59: 59.997

Диапазони на елементите

  • ГГГГ е четири цифри от 1753 до 9999, които представляват година.
  • ММ е две цифри, вариращи от 01 до 12, което представлява месец в определената година.
  • DD е две цифри, вариращи от 01 до 31 в зависимост от месеца, който представлява ден от посочения месец.
  • hh е две цифри, вариращи от 00 до 23, които представляват часа.
  • mm е две цифри, вариращи от 00 до 59, което представлява минутата.
  • ss е две цифри, вариращи от 00 до 59, което представлява втората.
  • n * е нула до три цифри, вариращи от 0 до 999, които представляват дробните секунди.

Размер на съхранението

подниз в пример на SQL сървър

8 байта

Стойност по подразбиране

1900-01-01 00:00:00

Календар

Григориански (Включва пълния набор от години.)

Забележка: Подробностите по-горе се отнасят за типа дата и дата в Transact-SQL иSQL Server.

Това е Време за среща в SQL. Но какво бихте направили, ако имате друга дата итипове време и трябва да ги конвертирате в Време за среща Тип?

Преобразуване на други типове дата и час в тип данни за дата и час

The Време за среща тип данни в SQL включва датата и часа, с 3-цифрена частична секунда. Точността му е закръглена до стъпки от .000, .003 или .007 секунди. Така че, когато конвертирате a дата или време стойности към Време за среща , към стойността се добавя допълнителна информация. Това е така, защото Време за среща типът данни съдържа както дата, така и час. Тази част от статията обяснява какво се случва, когато други дата и час типовете данни се преобразуват в Време за среща тип данни.

Пример1: Неявно преобразуване между дата и дата и час

ДЕКЛАРИРАНЕ @date date = '2020-12-01' ДЕКЛАРИРАНЕ @datetime datetime = @date

Резултат

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

Пример2: Неявно преобразуване между дата и час с помощта на CAST ()

ОБЯВЕТЕ @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: Неявно преобразуване от малко време към дата и час

Когато преобразуването е от s malldatetime тип, часовете и минутите се копират. Секундите и дробните секунди са зададени на стойност 0. Следващият код показва резултатите от преобразуването на a smalldatetime стойност към a Време за среща стойност.

DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'

Резултат

@datetime @smalldatetime ------------------------- --------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00

По същия начин можете да конвертирате други Време за среща типове към време за данни въведете или неявно, или използвайки гласове () и конвертиране () методи. За справка вижте таблицата по-долу, за да се запознаете с форматите на всички типове дата и час.

Тип данни Пример

време

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“ и ние ще се свържем с вас.