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

таких как дни, минуты или секунды

NEXT_DAY Возвращает для указанной даты следующий день недели в

заданном виде(например, ПЯТНИЦА)

MONTH_BETWEEN Возвращает число месяцев между двумя заданными датами

Преобразования дат

Преобразования дат могут понадобиться по ряду причин. Главным образом, преобразования дат используются для изменения типа данных, изначально определенных по умолчанию как DATETIME или как-нибудь иначе в зависимости от реализации SQL.

Вот несколько типичных причин, по которым применяются преобразования дат:

• необходимость сравнения значений дат разных типов;

• необходимость представления значений дат в виде строк заданного формата;

• необходимость конвертирования символьных строк в формат даты.

Для конвертирования одних типов данных в другие используется ANSI-оператор CAST. Его базовый синтаксис следующий.

CAST ( выражение AS новый тип данных )

Конкретные примеры использования этого операторы будут показаны в следующих разделах.

Шаблоны представления дат

Шаблон представления даты (date picture) состоит из элементов форматирования и используется для извлечения из базы данных информации о дате и времени в требуемом виде. В некоторых реализациях SQL использование шаблонов представления дат не предусмотрено.

Без использования форматирования информация о дате и времени извлекается из базы данных в определенном принятом по умолчанию виде, например,

1999-12-31

31-DEC-99

1999-12-31 23:59:01.11

Но как быть, если дату нужно представить, например, в следующем виде?

December 31, 1999

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

Шаблоны представления дат Sybase

УУ год

qq квартал

mm месяц

dy день года

wk неделя

dw день недели

hh час

mi минута

ss секунда

ms миллисекунда

Шаблоны представления дат Oracle_____________________________

AD Н. Э.

AM ДО ПОЛУДНЯ

ВС ДО Н. Э.

CC столетие

D номер дня недели

DD номер дня месяца

DDD номер дня года

DAY название дня недели (MONDAY)

Day название дня недели (Monday)

day название дня недели (monday)

Шаблоны предстявления дат Oracle

DY

Dy

dy

HH

НН12

НН24

J

MI

MM

MON

Mon

mon

MONTH

Month

month

PM

Q

KM

RR

3

SSSSS

SYYYY

W

WW

Y

YY

YYY

YYYY

YEAR

Year

year

трехбуквенное сокращение для дня недели (MON)

трехбуквенное сокращение для дня недели (Моп)

трехбуквенное сокращение для дня недели (топ)

час дня

час дня

час дня в 24-часовом формате

день по юлианскому календарю с 12-31-4713 до н. э.

минута часа

номер месяца

трехбуквенное сокращение для месяца (JAN)

трехбуквенное сокращение для месяца (Jan)

трехбуквенное сокращение для месяца (Jan)

название месяца (JANUARY)

название месяца (January)

название месяца (January)

после полудня

номер квартала

римский номер месяца

две цифры года

секунда минуты

число секунд со времени полуночи

год со знаком: например, 500 г. до н. э. = -500

номер недели месяца

номер недели года

последняя цифра года

последние две цифры года

последние три цифры года

год

год словами (NINETEEN-NINETY-NINE)

год словами (Nineteen-Ninety-Nine)

год словами (nineteen-ninety-nine)

Преобразование дат в строки символов

Значения типа DATETIME конвертируют (преобразуют) в символьные строки для того, чтобы иметь возможность изменить представление дат при выводе данных запроса. Для этого используются функции преобразования. Вот пример преобразования значения даты и времени в символьную строку в запросе SQL Server:

SELECT DATE_HIRE = DATENAME(MONTH, DATE_HIRE)

FROM EMPLOYEE_PAY__TBL

DATE_HIRE

May

June

August

June

July

January

6 rows affected.

В следующем примере для преобразования используется функция TO_CHAR из Oracle:

SELECT DATE_HIRE, TO_CHAR(DATE_HIRE,'Month dd, yyyy') HIRE

FROM EMPLOYEE_PAY_TBL;

DATE_HIRE HIRE

23-MAY-89 May 23, 1989

17-JUN-90 June 17, 1990

14-AUG-94 August 14, 1994

28-JUN-97 June 28, 1997

22-JUL-96 July 22, 1996

14-JAN-91 January 14, 1991

6 rows selected.

Преобразование символьных строк в даты
Перейти на страницу:

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

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

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

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

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

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

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

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