Как из поля с типом DATE извлечь номер месяца/года
Как из поля с типом DATE извлечь номер месяца/года
У меня есть запрос
CREATE VIEW TICK_CO(
COMPANE_NAME,
MONTH_,
TICKET_COUNT)
AS
SELECT train_company.company_name, ticket.date_, count(ticket.ticket_id)
from train_company join (train join (route join ticket on route.route_id=ticket.route_id) on train.company_id=route.train_id) on train_company.company_id=train.company_id
group by train_company.company_name, ticket.date_;
результат выполнения кол-во билетов проданных за каждый день, но хочу стедать так, чтобы выводилась не дата(ММ.ДД.ГГГГ) а номер месяца(или его название).
Большое спасибо!
CREATE VIEW TICK_CO(
COMPANE_NAME,
MONTH_,
TICKET_COUNT)
AS
SELECT train_company.company_name, ticket.date_, count(ticket.ticket_id)
from train_company join (train join (route join ticket on route.route_id=ticket.route_id) on train.company_id=route.train_id) on train_company.company_id=train.company_id
group by train_company.company_name, ticket.date_;
результат выполнения кол-во билетов проданных за каждый день, но хочу стедать так, чтобы выводилась не дата(ММ.ДД.ГГГГ) а номер месяца(или его название).
Большое спасибо!
Ага именно так)) но я уже разобрался) пример нашел, но всё же спасибо!Merlin писал(а):Если имеется в виду LangRef от IB6, то там, если мне не изменят склероз, про Extract написано очинно содержательно. В смысле он упомянут в списке ключевых слов и фсё
Extract (Month From MyField)
И ещё один вопрос, но малясь не по этой теме...
select route.route_id, cast(end.times-begin.times as time)
без конфертации выдаёт значения в несколько тысяч, когда пытаюсь перегнать в TIME пишет что ПЕРЕПОЛНЕНИЕ
ЗЫ Я тут хочу посчитат ьвремя в пути...
Не знаю что у вас за LengRef.pdf, но у меня он тоже от InterBase 6 с размером 2769574. И там функция extract есть и в содержании и в индексе, и ей посвящена целая страница с подробным описанием параметров и примерами.
Разница между двумя timestamp'ами в FB по-моему получается в долях дня. Соотвественно, не надо никаких cast'ов, надо просто умножить на 24, чтобы получить её в часах, на 24*60 -- в минутах и т.д. Опять же, это всё основы. Неужели этого нет даже в FAQ'е?LeviaFan писал(а):ЗЫ Я тут хочу посчитат ьвремя в пути...
Последний раз редактировалось Slavik 11 апр 2008, 23:17, всего редактировалось 1 раз.
в том что у меня, extract встречается только в списке ключевых слов! и ц раза как ОБЫЧНОЕ слово в предложенииSlavik писал(а):Не знаю что у вас за LengRef.pdf, но у меня тоже он от InterBase 6 с размером 2769574. И там функция extract есть и в содержании и в индексе, и ей посвящена целая страница с подробным описанием параметров и примерами.
Я пошарился по FAQ'у кое что нашел, похожие вопросы были, но как мне кажетсмя не то.изначально все поля times у меня были типа TIME при вычитании (9:30:00-8:00:00 по идее долно быть 1:30:00), а выдаёт мне 5 400,000. При смене на timestamp выдаёт дробное значение.....
вот очень похожий пример но не могу вкурить
http://www.sql.ru/forum/actualthread.aspx?tid=163798
вот очень похожий пример но не могу вкурить
http://www.sql.ru/forum/actualthread.aspx?tid=163798
Ну, давай попробуем подумать головой Поделим 5400 на 1.5 часа - что получим? Никаких ассоциаций не вызывает? Time - это чиста время. В секундах и в пределах 24 часов. TimeStamp - датавремя. В днях, и типа дробное. На самом деле нет, хранится в двух интах, дата отдельно, время отдельно. Но выдаётся и участвует в вычислениях через скрытые принудительные преобразования. Вычитая получаем интервал, который ни в тот ни в другой формат не лезет. Для Time, в пределах суток - в секундах, для таймштампа - в дробных днях. Ни то, ни другое не может ложиться в базовые типы, это просто числа. Не в смысле календаря, а в смысле числительных