Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день, мне необходимо выделить месяц и день из даты(дата задана в бд).
Хотелось бы использовать функцию month(date) и day(date),однако, не зависимо от формата date - как даты или как текста мне пишет сообщение, что такой функции не существует. Подскажите, пожалуйста, в чём моя ошибка? Я и extract пыталась применять- все время пишет. что функции не существует.
Select year_no,min(calendar_dt)
from asql.calendar
where (holiday_flg=1) and ((month(cast(calendar_dt as date))=8)) and (day(cast(calendar_dt as text)<>1))
group by year_no
order by year_no
limit 10
Само задание- нужно вынести 2 колонки - номер года и число(выходной, первый после середины года, или на середине года)
Неактивен
какой код ошибки?
Неактивен
ERROR: function month(date) does not exist
LINE 4: where (holiday_flg=1) and ((month(cast(calendar_dt as date))...
^
HINT: No function matches the given name and argument types. You may need to add explicit type casts.
********** Ошибка **********
ERROR: function month(date) does not exist
SQL-состояние: 42883
Подсказка: No function matches the given name and argument types. You may need to add explicit type casts.
Символ: 84
сами интересующие меня колонки выглядят вот так:
year_no calendar_dt
smallint 2007-03-05
2007 2007-08-12
2007 2007-12-03
Неактивен
судя по ошибке у вас не MySQL, это вам скорее на профильном форуме по PostgreSQL подскажут
Неактивен
СПАСИБО !!
Неактивен
Заработало вот в таком виде.
select year_no, min(calendar_dt)
from asql.calendar
where (holiday_flg=1) and (extract(month from calendar_dt)= 7) and (extract(day from calendar_dt)<>1)
group by year_no
order by year_no
Неактивен