powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / проблема фильтраций датой
25 сообщений из 27, страница 1 из 2
проблема фильтраций датой
    #36225348
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извините за мой русский

значит.. у меня есть такой регион pl/sql anomymus block .. в котором я хочу выполнить такой запрос..
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
DECLARE
 X11   NUMBER;
 X777 NUMBER;
 
BEGIN

SELECT COUNT(*) into X11 FROM biwh.ORGANIZ Tbl WHERE SAM_FORMA IN ('16') and IDEN_N_TAR BETWEEN :P1_X and :P1_X2;  



htp.p('<strong><table width="100%" border="1">
  <tr><td>txt 1</td> <td>'||X11||'</td> </tr>
 <tr><td>txt 2</td> <td>'||X777||'</td> </tr>
</table></strong> 
<br/>');

END;


к итемам P1_X и P1_X2 я присвоила Default value-с

для P1_X :

Код: plaintext
to_char(trunc(sysdate, 'YY'),'dd.mm.yyyy')

для P1_X2 :
Код: plaintext
to_char(sysdate,'dd.mm.yyyy')

но филтрацыя не работает.. в чём может быть проблема? как вы думайте
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225513
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

0. Тип у IDEN_N_TAR какой - date, varchar2, char?
1. Как значения по умолчанию присваиваете: через Source или Defaul?
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225559
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLerMandragoraSprout,

0. Тип у IDEN_N_TAR какой - date, varchar2, char?


IDEN_N_TAR - date..

автор1. Как значения по умолчанию присваиваете: через Source или Defaul?

Default
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225572
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

в предположении, что тип у IDEN_N_TAR - DATE, правильная последовательность действий:

0. Запрос в исходнике региона поменяйте на:

Код: plaintext
1.
2.
SELECT COUNT(*) into X11 
  FROM biwh.ORGANIZ Tbl 
 WHERE SAM_FORMA IN ('16') and IDEN_N_TAR BETWEEN to_date(:P1_X, 'dd.mm.yyyy') and to_date(:P1_X2, 'dd.mm.yyyy'); 

1. Элементам значение присваивайте через Edit Item->Source. Для Source Type выберите "PL/SQL Expression or Function", в Source value or expression вставьте то, что у Вас было в Default (to_char(...)).
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225599
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLerMandragoraSprout,

в предположении, что тип у IDEN_N_TAR - DATE, правильная последовательность действий:

0. Запрос в исходнике региона поменяйте на:

Код: plaintext
1.
2.
SELECT COUNT(*) into X11 
  FROM biwh.ORGANIZ Tbl 
 WHERE SAM_FORMA IN ('16') and IDEN_N_TAR BETWEEN to_date(:P1_X, 'dd.mm.yyyy') and to_date(:P1_X2, 'dd.mm.yyyy'); 

1. Элементам значение присваивайте через Edit Item->Source. Для Source Type выберите "PL/SQL Expression or Function", в Source value or expression вставьте то, что у Вас было в Default (to_char(...)).
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225602
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

не сработала :(
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225720
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

что "не сработала"? Для начала:

0. Проверьте Ваш запрос в SQL*Plus или в апексовском SQL Workshop->SQL Commands:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
DECLARE
 X11   NUMBER;
 X777 NUMBER;
 P1_X varchar2( 10 ) := to_char(trunc(sysdate, 'YYYY'), 'dd.mm.yyyy');
 P1_X2 varchar2( 10 ) := to_char(sysdate, 'dd.mm.yyyy');
 
BEGIN

SELECT COUNT(*) 
  into X11 
  FROM biwh.ORGANIZ Tbl 
 WHERE SAM_FORMA IN ('16') 
   and IDEN_N_TAR BETWEEN to_date(/*:*/P1_X, 'dd.mm.yyyy') and to_date(/*:*/P1_X2, 'dd.mm.yyyy');  

dbms_output.put_line(X11);

end;

Что вывело?

1. Регион у Вас типа PL/SQL Dynamic Content?
2. Элементы P1_X, P1_X2 находится в регионе, который идёт перед тем, в котором Вы их используете? В этом же самом регионе? На другой странице?
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225759
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer
Что вывело?


38303

Statement processed.

автор1. Регион у Вас типа PL/SQL Dynamic Content?

PL/SQL anomymus block


автор2. Элементы P1_X, P1_X2 находится в регионе, который идёт перед тем, в котором Вы их используете? В этом же самом регионе? На другой странице?

Господи, убей меня!!.. какая я дура.. я не знала что это имеет значение :(( все работает
спасиба ..
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225775
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теперь у меня другая проблема .. вот второй запрос:

Код: plaintext
1.
2.
SELECT COUNT(*) into X777 FROM biwh.ORGANIZ Tbl WHERE  IDEN_N_TAR  BETWEEN 
to_char(add_months(trunc(sysdate, 'YY'), - 12 ),'dd.mm.yyyy')
 AND  to_date(add_months(sysdate, - 12 ))  AND  SAM_FORMA IN ('16'); 



вот здесь я должна показать данные онологичного периода прошлого года .. датепицкер должен фильтровать данные минус один лет
как это сделать ? :(
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225814
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

я пока не понимаю, в чём проблема. С прошлым запросом Вы разобрались, ведь так? Теперь в тот же блок добавьте после первого запроса второй, обернув to_date() с переменными в add_months(..., -12).

PS: За "датепицкер" спасибо, повеселило... :)
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225857
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да с прошлым запросом разобрались..



во втором запросе я выбираю данные прошлого года( то есть 2008) , и я хочу чтоб при фильтрацый датепикером (например пх =01.01.2008 , и пх2 - 23.05.2008 ) показывались данные предыдущего года ( то есть от 01.01.2007 , до 23.05.2008 ) я не знаю как можна это реализовать
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225868
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MandragoraSproutда с прошлым запросом разобрались..



во втором запросе я выбираю данные прошлого года( то есть 2008) , и я хочу чтоб при фильтрацый датепикером (например пх =01.01.2008 , и пх2 - 23.05.2008 ) показывались данные предыдущего года ( то есть от 01.01.2007 , до 23.05.2007 ) я не знаю как можна это реализовать

ups.. do 2007 izvinite
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225877
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

вот Ваш первый запрос:

Код: plaintext
1.
2.
SELECT COUNT(*) into X11 FROM biwh.ORGANIZ Tbl 
 WHERE SAM_FORMA IN ('16') 
   and IDEN_N_TAR BETWEEN to_date(:P1_X, 'dd.mm.yyyy') and to_date(:P1_X2, 'dd.mm.yyyy');

Второй от него отличается только обёртками add_months вокруг to_date, отнимающими по году от каждой даты:

Код: plaintext
1.
2.
SELECT COUNT(*) into X777 FROM biwh.ORGANIZ Tbl 
 WHERE SAM_FORMA IN ('16') and IDEN_N_TAR BETWEEN add_months(to_date(:P1_X, 'dd.mm.yyyy'), - 12 ) 
   and add_months(to_date(:P1_X2, 'dd.mm.yyyy'), - 12 );
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225931
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLerMandragoraSprout,

вот Ваш первый запрос:

Код: plaintext
1.
2.
SELECT COUNT(*) into X11 FROM biwh.ORGANIZ Tbl 
 WHERE SAM_FORMA IN ('16') 
   and IDEN_N_TAR BETWEEN to_date(:P1_X, 'dd.mm.yyyy') and to_date(:P1_X2, 'dd.mm.yyyy');

Второй от него отличается только обёртками add_months вокруг to_date, отнимающими по году от каждой даты:

Код: plaintext
1.
2.
SELECT COUNT(*) into X777 FROM biwh.ORGANIZ Tbl 
 WHERE SAM_FORMA IN ('16') and IDEN_N_TAR BETWEEN add_months(to_date(:P1_X, 'dd.mm.yyyy'), - 12 ) 
   and add_months(to_date(:P1_X2, 'dd.mm.yyyy'), - 12 );


да.. Второй запрос мне ясен

но как фильтровать датепикером ( от 01.01.2008 , до 23.05.2008 ), так чтобы отображалось данные предыдущего года ( то есть от 01.01.2007 , до 23.05.2007 )..
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36225955
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

эм... Что Вы понимаете под "фильтровать датепикером"? Выбираете в дэйтпикере нужную дату, первый запрос использует её, второй (за счёт add_months) - её минус двенадцать месяцев.
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36226141
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

ogromnoe spasiba za pomosh! .. svo yasna.. zavtra paprobuyu ..




:)
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36226313
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

еше один вапрос если можна..

как реализовать это:

Код: plaintext
1.
SELECT COUNT(*) into X777 FROM EMPLOYEES Tbl WHERE  HIRE_DATE BETWEEN sysdate - 1 
 and sysdate;  

я не знаю синтакс.. вот так написала и не получаетця :(

Код: plaintext
1.
SELECT COUNT(*) into X777 FROM EMPLOYEES Tbl WHERE  HIRE_DATE BETWEEN to_date(:P1_X, 'dd.mm.yyyy', - 1 ) 
 and to_date(:P1_X2, 'dd.mm.yyyy', - 1 );  
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36226422
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

Код: plaintext
to_date(..., '...') -  1 

Советую Вам всё же почитать про работу с датами .
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36228039
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

спасибо..

вот еще возникла одна проблема..

в третем запросе я хачу вивадить данные от sysdate -1 до sysdate ..

думала решить эту проблему так:
Код: plaintext
SELECT COUNT(*) into X555 FROM EMPLOYEES Tbl WHERE  HIRE_DATE BETWEEN to_date(:P1_X, 'dd.mm.yyyy')  - 1  and to_date(:P1_X2, 'dd.mm.yyyy');  

но итем :P1_X у меня выводит первый месец текущего года.. и при фильтрацый по дате запрос выбодит COUNT(*) всех данных от 01.01.09 -1 до 01.10.09 ..

так не подайдет.. что делать?
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36228133
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSprout,

0. Без обид: Вы собираетесь и дальше всплывать на бронепоезде с любой проблемой, не пытаясь почитать доку и сделать выводы из уже данных Вам ответов?
1. Вы уже написали Ваш диапазон красным цветом.
2. Готов исправлять подобные "проблемы" в запросах удалённо за скромное вознаграждение. :) Скорость обещаю.
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36228147
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

ok thx.
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36228163
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я совсем не программист. я не знаю pl/sql я не мыслю нечего в оракл

но меня вынуждают делать это.. мне некому обратится за помощь
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36228214
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandragoraSproutя совсем не программист. я не знаю pl/sql я не мыслю нечего в оракл

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

Это всё, конечно, ужасно... Но Вы должны сообщать это не форуму, а тому, кто вынуждает Вас это делать. Вдобавок ставить в известность, что Вы готовы научиться всему тому, что нужно для решения задачи, но для этого Вам необходимо время. Месяца полтора как минимум, если Вы действительно совсем не программист, и Вы действительно горите желанием учиться.

И если Ваш работодатель/руководитель/преподаватель Вам это время предоставит - на форуме есть темы по книгам, которые стоит читать, сайтам, на которых стоит тренироваться и т.п. А если не предоставит - то смело делайте запросы по месяцу и странички по году. Вы в известность о Ваших умениях и знаниях поставили.
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36228274
MandragoraSprout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

нечего.. что-нибудь предумаю..

еще раз спасибо за помощь
...
Рейтинг: 0 / 0
проблема фильтраций датой
    #36230813
Berkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandragora, даже если не хотите читать справку - перечитывайте свои посты перед публикацией.
1) Очень желательно писать так, чтобы со стороны сразу было понятно в чём конкретно проблема (например: не знаю как сделать отбор по колонке типа DATE от текущей даты минус 1 год до текущей даты), а не (у меня там на страничке кнопка по которой, датапицкер должен делать фильтр, вот какой-то запрос...).
2) Хорошо бы поменьше ошибок - читать приятней, поисковик загибаться не будет, да и вообче 8)
Ну и может и правда проще кого-нить нанять, чтобы он вам по skype позвонил, по teamviewer (например) подконнектился и за пару часов и скромное вознаграждение сделал за вас вашу двухнедельную норму... а вы это время потом на учёбу обстоятельную потратите или на что там ещё.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / проблема фильтраций датой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]