Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Дата / 5 сообщений из 5, страница 1 из 1
18.05.2021, 14:43
    #40071070
Inoyatov Ulmas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата
оракле вопрос как убрать с даты больше 90 дней
...
Рейтинг: 0 / 0
18.05.2021, 14:44
    #40071071
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата
Вычитанием интервала равного 90 дням.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.05.2021, 14:47
    #40071072
Inoyatov Ulmas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата
да вот селект

select distinct t.city as "Регион",
b.branch as "Филиал",
t.abvr_name as "Наименование клиента",
t.merchant as "Мерчант",
t.term_nr as "Терминал ID",
b.serial_nr as "Серийный Номер Терминала",
(select decode(s.state,''D'',''Active'',''F'',''Active'',''S'',''Active'',''U'',''Active'')
from BF_GLOBUZ_STATES s
where b.action = s.state
and s.state not in (''E'',''I'',''C'')) as "Статус",
bf.desc_s as "Статус файла",
(select t.e_date from empc_files_b_transactions t
) as "Дата"
from empc_files_b_transactions t,ss_empc_terminal_status s, bf_globuz_acc_tr_all b,bf_globuz_states bf
where t.term_nr = b.terminal_id
and b.status = s.status
and bf.state = b.action
and ''trunc(t.e_date) between to_date(''' ||
p_date_from || ''' ,''dd.mm.yyyy'')' || 'and to_date(''' ||p_date_to || ''',''dd.mm.yyyy'')' ||
'group by b.id,t.id, t.term_nr,t.city, t.abvr_name,t.e_date,t.merchant, b.serial_nr,s.label, t.e_date,bf.desc_s,b.action,b.branch';


p_date_to макс даты убрат 90дней и добавит ответ сюда as "Дата"
...
Рейтинг: 0 / 0
18.05.2021, 20:31
    #40071159
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата
Inoyatov Ulmas
да вот селект

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
select distinct t.city as "Регион",
                    b.branch as "Филиал",
                    t.abvr_name as "Наименование клиента",
                    t.merchant as "Мерчант",
                    t.term_nr as "Терминал ID",
                    b.serial_nr as "Серийный Номер Терминала",
                    (select decode(s.state,''D'',''Active'',''F'',''Active'',''S'',''Active'',''U'',''Active'')
                       from BF_GLOBUZ_STATES s
                      where b.action = s.state
                      and s.state not in (''E'',''I'',''C'')) as "Статус",
                    bf.desc_s as "Статус файла",
                    (select t.e_date from empc_files_b_transactions t
                      ) as "Дата" 
              from empc_files_b_transactions t,ss_empc_terminal_status s, bf_globuz_acc_tr_all b,bf_globuz_states bf
             where t.term_nr = b.terminal_id
               and b.status = s.status
               and bf.state = b.action
               and ''trunc(t.e_date) between to_date(''' ||
                     p_date_from || ''' ,''dd.mm.yyyy'')' || 'and to_date(''' ||p_date_to || ''',''dd.mm.yyyy'')' ||
               'group by b.id,t.id, t.term_nr,t.city, t.abvr_name,t.e_date,t.merchant, b.serial_nr,s.label, t.e_date,bf.desc_s,b.action,b.branch';



p_date_to макс даты убрат 90дней и добавит ответ сюда as "Дата"



Вместо тысячи слов:
Datetime/Interval Arithmetic

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

Session altered.

SQL> select trunc(sysdate),trunc(sysdate)-90,sysdate,sysdate-90 from dual;

TRUNC(SYSDATE)      TRUNC(SYSDATE)-90   SYSDATE             SYSDATE-90
------------------- ------------------- ------------------- -------------------
2021-05-18 00:00:00 2021-02-17 00:00:00 2021-05-18 20:26:30 2021-02-17 20:26:30
...
Рейтинг: 0 / 0
18.05.2021, 20:35
    #40071161
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата
Inoyatov Ulmas,


памятка:
HOWTO :: Как правильно задавать вопросы
Как мне оформить свое сообщение?
Студентам, желающим помощи

1) Полная постановка задачи (без сокращений)
2) Подготовьте тестовые данные, лучше в виде with
например (не ваш случай):

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
-- table 1 with column list
with user_tab(user_id,user_name,registry_date) as (
select 1,'Bob',to_date('11.02.1921 23:04:44','DD.MM.YYYY HH24:MI:SS') from dual union all
select 2,'Max',to_date('11.02.1922 23:04:44','DD.MM.YYYY HH24:MI:SS') from dual union all
select 3,'Jon',to_date('11.02.1923 23:04:44','DD.MM.YYYY HH24:MI:SS') from dual
)
-- table 2 with column list
,user_post(post_id,user_id,parent_post_id,post_date,message) as (
select 100,1,null,to_date('11.02.1923 23:04:00','DD.MM.YYYY HH24:MI:SS'),'Hi' from dual union all
select 101,2,100,to_date('11.02.1923 23:05:23','DD.MM.YYYY HH24:MI:SS'),'Hi' from dual union all
select 102,3,100,to_date('11.02.1923 23:05:35','DD.MM.YYYY HH24:MI:SS'),'Hi' from dual union all
select 103,1,102,to_date('11.02.1923 23:06:00','DD.MM.YYYY HH24:MI:SS'),'How are you' from dual union all
select 104,2,102,to_date('11.02.1923 23:07:05','DD.MM.YYYY HH24:MI:SS'),'All right!' from dual union all
select 105,1,101,to_date('11.02.1923 23:06:21','DD.MM.YYYY HH24:MI:SS'),'Bye' from dual union all
select 106,1,104,to_date('11.02.1923 23:04:37','DD.MM.YYYY HH24:MI:SS'),'Bye' from dual union all
select 107,2,null,to_date('11.02.1923 23:08:56','DD.MM.YYYY HH24:MI:SS'),'Hmm' from dual
)
-- query sample
select
-- level
-- ,u.user_name
-- ,p.message
rpad(to_char(p.post_date,'YYYY-MM-DD HH24:MI:SS  '),20+level*2,' ')||u.user_name||': '||p.message as txt
from 
 user_post p
 join user_tab  u on ( p.user_id = u.user_id)
where p.post_date >= u.registry_date
start with p.parent_post_id is null 
connect by prior p.post_id=p.parent_post_id 
;

TXT
--------------------------------------------------------------------------------
1923-02-11 23:04:00   Bob: Hi
1923-02-11 23:05:23     Max: Hi
1923-02-11 23:06:21       Bob: Bye
1923-02-11 23:05:35     Jon: Hi
1923-02-11 23:06:00       Bob: How are you
1923-02-11 23:07:05       Max: All right!
1923-02-11 23:04:37         Bob: Bye
1923-02-11 23:08:56   Max: Hmm

8 rows selected.



3) Покажите что сделали, что получили, без сокращений. ( лучше не в виде screenshot)


4) используйте Тэги, читать код без них неудобно, правильно оформляйте сообщение
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Дата / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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