Читаем SQL за 24 часа полностью

Как вы уже знаете, существует множество различных реализаций SQL. В этой книге рассмотрен стандарт ANSI и общие для многих реализаций языка функции, команды и операторы Для примеров выбрана реализация Oracle Но даже в рамках Oracle даты могут храниться в различных форматах. Уточнить особенности хранения дат можно по документации. Но, независимо от формы хранения дат, каждая конкретная реализация языка должна предлагать вам функции, позволяющие преобразовать даты из одного формата в другие.

Как хранятся даты?

В каждой реализации языка есть формат хранения дат, принятый по умолчанию. Такие форматы для различных реализаций SQL часто оказываются разными, но то же самое можно сказать и о форматах хранения других типов данных. В следующих разделах рассматривается стандартный формат и его составляющие для данных типа DATETIME- После этого мы с вами ознакомимся с особенностями представления дат и времени в основных реализациях SQL, таких как Oracle, Sybase и Microsoft SQL Server.

Стандартные типы данных для дат и времени

Имеется три стандартных типа данных SQL, предназначенных для хранения дат и времени (DATETIME).

Тип данных____ Использование

DATE Для хранения значений дат

Т1МЕ Для хранения значений времени

TIMESTAMP Для хранения значений дат и времени

Формат и диапазон допустимых значений для этих типов данных следующий.

DATE_______________

Формат: гпт-ММ-дд

Диапазон допустимых значений: от 0001-01-01 до 9999-12-31

TIME___________

Формат: чч: мм: сс.пп

Диапазон допустимых значений: от 00:00:00... до 23:59:61.999...

TIMESTAMP_________

Формат: гггг-ММ-ДД чч: мм: сс.пп

Диапазон допустимых значений: от 0001-01-01 ОО'ОО'ОО ' до 9999-12-31 23:59:61.999...

Компоненты типа DATETIME

Компонентами типа данных DATETIME являются элементы, из которых складываются значения дат и времени. Вот список отдельных компонентов типа DATETIME вместе с диапазонами допустимых значений.

YEAR (ГОД) ОТ 0001 ДО 9999

MONTH (месяц) от 01 до 12

DAY (день) от 01 до 31

HOUR (час) от оо до 23

MINUTE (минута) от оо До 59

SECOND (секунда) от о.000... до 61.999... Секунды можно представить в виде десятичных чисел с десятыми, сотыми частями секунды, миллисекундами и т. д. С указанными здесь компонентами, кроме последнего, вопросов возникать не должно, поскольку они представляют компоненты дат и времени, используемые в повседневной жизни. Удивление может вызвать лишь допущение, что в минуте может содержаться более 60 секунд. В соответствии со стандартом ANSI число 61.999 Для секунд возникает из-за возможного добавления или пропуска секунд при корректировке точного времени, что само по себе является достаточно редким явлением. Чтобы уточнить диапазон допустимых значений, обратитесь к документации по используемой вами реализации языка, поскольку по вопросам хранения дат и времени у производителей единого мнения нет.

Вариации представления конкретных типов данных

Как и для других типов данных, разные реализации SQL предлагают свои представления и синтаксис. В этом разделе мы поговорим о том, как с датами и временем обращаются Oracle, Sybase и SQLBase.

Продукт___Тип данных_____Использование_______________________

Oracle DATE Хранит дату и время вместе

Sybase DATETIME Хранит дату и время вместе

SMALLDATETIME Хранит дату и время вместе, но допускает более

узкий диапазон для дат, чем DATETIME

SQLBase DATETIME Хранит дату и время вместе

TIMESTAMP Хранит дату и время вместе

DATE Хранит дату

TIME Хранит время

Каждая реализация языка предлагает свои типы данных для дат и времени, но чаще всего реализации поддерживают стандарт ANSI в том смысле, что все компоненты даты и времени включены в соответствующие типы данных Но то, в каком внутреннем формате хранятся значения дат и времени, зависит от конкретной реализации языка

Функции для работы с датами

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

Текущая дата

Наверное, вы уже подумали: "Как получить из базы данных информацию о текущем времени?" Такая необходимость может возникнуть в самых разных ситуациях, но обычно текущая дата бывает необходима для сравнения со значениями дат, хранящимися в базе данных, или для использования текущей даты в качестве временной метки.

Текущая дата отслеживается главным (управляющим) компьютером базы данных и называется системной датой. При работе с базой данных посредством использования определенной операционной системы имеется возможность извлечь системную дату для внутренних потребностей самой базы данных или для использования этой даты в различных операциях типа запросов.

Рассмотрим несколько методов извлечения системной даты с использованием команд разных реализаций языка.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных