Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Сравнение на типовете данни за дата и час в SQL Server

Тази статия предоставя паралелно сравнение на типовете данни за дата и час в SQL Server по отношение на техния обхват, точност и размер на съхранение.

Тип данни Обхват Точност Размер на съхранение
дата 0001-01-01

чрез

9999-12-31

1 ден 3 байта
дата и час 1753-01-01

чрез

9999-12-31

00:00:00

чрез

23:59:59,997

0,00333 секунди 8 байта
datetime2 0001-01-01

чрез

9999-12-31

00:00:00

чрез

23:59:59,9999999

100 наносекунди 6 до 8 байта*
datetimeoffset 0001-01-01

чрез

9999-12-31

00:00:00

чрез

23:59:59,9999999

-14:00

чрез

+14:00

100 наносекунди 8 до 10 байта*
smalldatetime 1900-01-01

чрез

2079-06-06

00:00:00

чрез

23:59:59

1 минута 4 байта
време 00:00:00.0000000

чрез

23:59:59,9999999

100 наносекунди 3 до 5 байта*

* Имайте предвид, че изброените тук количества за съхранение са количествата, изброени в документацията на Microsoft. Тези типове данни обаче също използват 1 байт за съхранение на точността. Затова добавете 1 байт към изброените тук количества за по-пълна картина на изискванията за съхранение.

Например размерът на хранилището за datetime2 ще варира от 7 до 9 байта, ако включите допълнителния байт.

Преобразуване между данни от тези типове

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

Вижте Преобразуване между типове данни за дата и час в SQL Server за примери.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам променлива за името на базата данни в T-SQL?

  2. Дизайн на база данни:една огромна таблица или отделни таблици?

  3. Как да изберете вложен JSON в SQL Server с OPENJSON

  4. Как работи функцията STRING_ESCAPE() в SQL Server (T-SQL)

  5. Времето за изчакване на заявката на SQL Server зависи от клаузата Where