Published on

October 11, 2007

Изучение типов данных даты и времени в SQL Server 2008

В SQL Server 2008 есть несколько новых типов данных даты и времени, которые предлагают улучшенную функциональность по сравнению с предыдущими версиями. Эти типы данных позволяют более точно хранить и манипулировать значениями даты и времени. Давайте ближе рассмотрим эти типы данных и их особенности.

Типы данных даты и времени

В SQL Server 2008 есть шесть типов данных даты и времени:

  • datetime: Хранит как компоненты дату, так и время, в диапазоне с 1 января 1753 года по 31 декабря 9999 года с точностью до 3,33 миллисекунды.
  • smalldatetime: Хранит как компоненты дату, так и время, в диапазоне с 1 января 1900 года по 6 июня 2079 года с точностью до 1 минуты.
  • date: Хранит только компонент даты без компонента времени, в диапазоне с 1 января 0001 года по 31 декабря 9999 года с точностью до 1 дня.
  • time: Хранит только компонент времени (без компонента даты), в диапазоне с 00:00:00.000000 до 23:59:59.9999999 с точностью до 100 наносекунд (7 десятичных знаков).
  • datetime2: Хранит как компоненты дату, так и время, в диапазоне с 1 января 0001 года по 31 декабря 9999 года с точностью до 100 наносекунд.
  • datetimeoffset: Хранит как компоненты дату, время и смещение часового пояса, в диапазоне с 1 января 0001 года по 31 декабря 9999 года с точностью до 100 наносекунд. Смещение часового пояса может быть в диапазоне от -14:00 до +14:00.

Эти типы данных предоставляют широкий спектр возможностей для хранения и манипулирования значениями даты и времени, что позволяет более гибко проектировать базы данных и разрабатывать приложения.

Тип данных Rowversion

В SQL Server 2008 тип данных “timestamp” устарел и заменен типом данных “rowversion”. Тип данных “rowversion” используется как механизм для отметки версий строк в таблице. Он содержит автоматически генерируемый уникальный двоичный номер, который изменяется при каждом обновлении строки. Это позволяет легко определить, изменилось ли какое-либо значение в строке.

Например, вы можете создать таблицу с колонкой “rowversion” следующим образом:

CREATE TABLE table1 (
  col1 int,
  col2 rowversion
);

Когда строка в этой таблице обновляется, значение колонки “rowversion” изменяется, указывая, что строка была изменена.

Функции даты и времени

В SQL Server 2008 есть шесть функций даты и времени, которые возвращают текущую системную отметку времени:

  • GETDATE: Возвращает текущую системную отметку времени с точностью до .333 секунды.
  • CURRENT_TIMESTAMP: Эквивалент функции GETDATE.
  • GETUTCDATE: Возвращает текущую дату и время в формате UTC (Координированное всемирное время или среднее время по Гринвичу) с точностью до .333 секунды.
  • SYSDATETIME: Возвращает текущую системную отметку времени без часового пояса с точностью до 10 миллисекунд.
  • SYSDATETIMEOFFSET: Возвращает текущую системную отметку времени с часовым поясом с точностью до 10 миллисекунд.
  • SYSUTCDATETIME: Возвращает дату и время в формате UTC с точностью до 10 миллисекунд.

Эти функции предоставляют удобные способы получения текущих значений даты и времени в различных форматах и часовых поясах.

Заключение

SQL Server 2008 вводит несколько новых типов данных даты и времени и функций, которые предлагают улучшенную функциональность и гибкость по сравнению с предыдущими версиями. Эти улучшения позволяют более точно хранить и манипулировать значениями даты и времени, что упрощает разработку приложений, основанных на точном отслеживании времени и обработке часовых поясов.

Важно знать об этих новых возможностях, но также стоит отметить, что SQL Server 2008 все еще находится в разработке и может быть изменен. Однако, понимание этих концепций заранее может помочь в планировании будущих приложений и использовании расширенных возможностей, предлагаемых SQL Server 2008.

Ожидайте новых статей о SQL Server и его различных возможностях!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.