2. С помощью подходящей функции отобразите только первые четыре буквы строки джонсон.
3. С помощью подходящей функции соедините строки Джон и СОН в одну.
12-й час Работа с датами и временем
Из этого урока вы узнаете о том, как в SQL обрабатываются значения дат и времени. Мы подробно поговорим не только об особенностях представления данных типа DATETIME, но и о том, как значения дат и времени используются в разных реализациях языка. Вы узнаете о некоторых общих правилах использования данных этого типа и о том, как извлекать из базы данных значения дат и времени в нужном формате.
Основными на этом уроке будут следующие темы.
• Использование дат и времени
• В каком виде хранятся значения дат и времени
• Типичные форматы дат и времени
• Использование функций дат и времени
• Преобразования дат и времени
Как вы уже знаете, существует множество различных реализаций 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 в том смысле, что все компоненты даты и времени включены в соответствующие типы данных Но то, в каком внутреннем формате хранятся значения дат и времени, зависит от конкретной реализации языка
Читать дальше