W Cat - SQL за 24 часа
- Название:SQL за 24 часа
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - SQL за 24 часа краткое содержание
SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Имеется три стандартных типа данных 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 вместе с диапазонами допустимых значений.
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 зависят от конкретной реализации языка. Функции для работы с датами используются для управления представлением значений дат и времени, подобно тому, как с символьными строками используются строковые функции. Функции для работы с датами и временем часто используются для того, чтобы представить соответствующие данные в формате, удобном для чтения, сопоставления, выполнения с ними операций и т. п.
Наверное, вы уже подумали: "Как получить из базы данных информацию о текущем времени?" Такая необходимость может возникнуть в самых разных ситуациях, но обычно текущая дата бывает необходима для сравнения со значениями дат, хранящимися в базе данных, или для использования текущей даты в качестве временной метки.
Текущая дата отслеживается главным (управляющим) компьютером базы данных и называется системной датой. При работе с базой данных посредством использования определенной операционной системы имеется возможность извлечь системную дату для внутренних потребностей самой базы данных или для использования этой даты в различных операциях типа запросов.
Рассмотрим несколько методов извлечения системной даты с использованием команд разных реализаций языка.
В Sybase для получения системной даты используется функция GETDATE() • В запросах эта функция используется следующим образом (в данном случае текущей датой оказался новогодний вечер конца 1999 года).
SELECT GETDATEO
Dec 31, 1999
Обсуждаемые в этой книге возможности реализаций языка от Sybase и Microsoft применимы в обеих этих реализациях, поскольку обе они в качестве сервера своих баз данных используют SQL Server. Обе эти реализации языка используют одно и то же расширение стандартного SQL, известное как Transact-SQL.
В Огас1едля извлечения системной даты используется то, что в нем называется псевдостолбцом SySDATE- Обращаться с SySDATE можно как с любым другим столбцом в таблице и выбрать его можно из любой таблицы базы данных, хотя он и не является частью определения таблицы.
Для извлечения системной даты в Oracle используется следующий оператор.
SELECT SYSDATE FROM ИМЯ_ТАБЛИЦЫ;
31-DEC-99
При работе с датами и временем может возникнуть необходимость учитывать различия во времени для разных часовых поясов. Например, 6 часов вечера в США не соответствует 6 часам вечера в Австралии, хотя с точки зрения мирового времени рассматривается один момент. Там, где используется летнее и зимнее время, приходится корректировать показания часов дважды в год. Если это необходимо, имеется возможность учесть различия во времени или осуществить необходимую корректировку времени с помощью подходящих операторов SQL, если таковые соответствующей реализацией языка предусмотрены.
Вот список некоторых из часовых поясов с принятыми для них аббревиатурами.
Сокращение ____ Расшифровка _________
AST, ADT Атлантическое (нью-йоркское) поясное время, летнее время
BST, ВDT Берингово поясное время, летнее время
СSт, CDT Центральное поясное время, летнее время
EST, EDT Восточное пояснее время, летнее время
GMT Всемирное (гринвичское среднее) время или время по Гринвичу
HST, НОТ Гавайское поясное время, летнее время
NST Ньюфаундлендское поясное время
PST, PDT Тихоокеанское время, летнее время
YST, YDT Юкона поясное время, летнее время
В некоторых реализациях SQL имеются средства для учета поясного времени. Уточните по документации имеются ли в используемой вами реализации языка возможности для учета поясного времени, а также вообще оцените необходимость учета поясного времени в вашей конкретной базе данных.
К датам можно добавлять дни, месяцы и другие компоненты времени для сравнения дат или, например, для того, чтобы уточнить условия в выражении ключевого слова WHERE в запросе.
Интервалы времени можно добавлять к значениям типа DATETIME. В соответствии со стандартом интервалы времени должны использоваться так, как показано в следующих примерах.
Читать дальшеИнтервал:
Закладка: