training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Работа с временем в SQL Firebird

Создано: 05 августа 2015Автор: Егор Астапов7428 просмотровСложность: легкий

Работа с временем важна и нужна. Вы можете сгенерировать дату средствами PHP или средствами SQL-языка. Например встроенная функция date("d.m.Y") (день.месяц.год) вернет текущую дату '05.08.2015'. Такая конструкция date("d.m.Y") подобна контекстной переменной CURRENT_DATE. Контекстная переменная CURRENT_TIME вернет текущее время '20:18:29'. На PHP подобный результат можно получить при помощи такой конструкции date("H:i:s"). Контекстная переменная CURRENT_TIMESTAMP вернёт текущую дату + время '05.08.2015 20:20:49'. Подобный результат на PHP даст date("d.m.Y H:i:s").


#выбрать текущую дату
SELECT CURRENT_DATE as date1 
FROM SHOP
#выбрать текущую времени
SELECT CURRENT_TIME as date1 
FROM SHOP
#выбрать текущей даты + время
SELECT CURRENT_TIMESTAMP as date1 
FROM SHOP

Дам вам один совет. Если вы в таблице хотите сохранить время создания записи (LAST_CHANGE), то применяйте контекстную переменную CURRENT_TIMESTAMP. Вы сможете выбирать из этого значения как дату, так и время. Вам поможет такая конструкция cast(last_change as time). Она выведет время.


#дата 21:16:29
select cast(last_change as time) as d1
from GM_SHOP 
ORDER BY LAST_CHANGE DESC

Эта конструкция выведет дату + время. Если вы из даты выведите данные в формате timestamp, то у вас отрежутся: секунды, минуты, часы.


#сортировка по дате в обратном порядке
select cast(last_change as timestamp) as d1
from GM_SHOP 
ORDER BY LAST_CHANGE DESC

Вы можете вывести только дату из timestamp.


#сортировка по дате в обратном порядке
select cast(last_change as date) as d1
from GM_SHOP 
ORDER BY LAST_CHANGE DESC

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


#сортировка по дате в обратном порядке
select * from GM_SHOP 
ORDER BY LAST_CHANGE DESC

Вы можете вывести записи, которые созданы после определённой метки времени.


#выборка записей после заданной даты
SELECT * from GM_SHOP WHERE LAST_CHANGE > '11.08.2015'
#выборка записей за отрезок времени, 2 дня
SELECT * from GM_SHOP 
WHERE LAST_CHANGE > '11.08.2015' 
AND  LAST_CHANGE < '15.08.2015'
#выборка записей за отрезок времени, 4 дня
SELECT * from GM_SHOP 
WHERE LAST_CHANGE >= '11.08.2015' 
AND  LAST_CHANGE <= '15.08.2015'
#выбор записей после текущей даты
SELECT * from GM_SHOP 
WHERE LAST_CHANGE > 'NOW'

Комментарии

реклама