У меня есть таблица для заказов, и она имеет 2 столбца с типами DATE: delivery_date и order_date.
В моем sqldeveloper все даты, которые я вставил через Java или вручную, имеют формат 10.01.25 для 25 января этого года.
Когда я пытаюсь увидеть total_price для заказов между одной датой и другой, я вынуждаю формат следующим образом:
create or replace function calc_Outlays (init_date IN DATE,final_date IN date)return number is
v_total_enc FORNECIMENTO.TOTAL_ENC_FORNEC%TYPE;
begin
select f.total_enc_fornec into v_total_enc from fornecimento f where f.data_entrega between init_date and final_date;
return v_total_enc;
Exception
When no_data_found then
Insert Into errors Values (0,'No supplyment costs found for dates between '||to_char(init_date)||' and '||to_char(final_date),systimestamp);
return -1;
end;
но я вернул -1 Я даже пытаюсь сделать запрос так: select f.total_enc_fornec from fornecimento f where f.data_entrega = '10.01.24';
как это: select f.total_enc_fornec from fornecimento f where f.data_entrega = to_date('10.01.24','yy-mm-dd');
как это: select f.total_enc_fornec from fornecimento f where f.data_entrega < to_date('10.01.24');
и НИЧЕГО не возвращается!
но если я выполню: select f.total_enc_fornec from fornecimento f where f.data_entrega <= sysdate;
, он печатает результат, как и положено ...
Как я могу это сделать? Я явно неправильно передаю ни параметры, ни функцию, ни сам запрос
Кстати, а если бы я хотел выбрать ВСЕ заказы какого-нибудь года / месяца / дня? Скажем, используя функцию извлечения, например. Не могли бы вы показать мне, как? Я пытался, но у меня те же проблемы, и я по-простому в концепции, по крайней мере, LOL.