Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом / 15 сообщений из 15, страница 1 из 1
23.01.2003, 12:23
    #32095135
vsim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Гложет смутное предчувствие что это сделать нельзя, но посоветуйте начинающему как лучше сделать:
Есть две даты. Хотелось бы одним запросом получить все даты между ними.
...
Рейтинг: 0 / 0
23.01.2003, 12:31
    #32095140
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
...
Рейтинг: 0 / 0
23.01.2003, 12:31
    #32095141
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Можно, и есть несколько способов. Например, можно создать таблицу с одной колонкой, в которую занести все даты за несколько лет вперёд и назад, и делать выборку из неё. Можно на лету генерировать, базируясь на какой-нибудь заведомо длинной таблице или представлении (чтобы количество строк было не меньше количества дней в рассматриваемом периоде). В 9i ещё как-то можно, сейчас кто-нибудь подскажет :)
...
Рейтинг: 0 / 0
23.01.2003, 12:34
    #32095147
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Я так и думал, что сейчас Денис ответит :))
...
Рейтинг: 0 / 0
23.01.2003, 12:36
    #32095149
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Ну дык:) В 9i, да и в 8i можно написать функцию с диапазоном дат в качестве аргументов, возвращающую объектную таблицу, и использовать ее в select'е. Принцип описан тут: http://otn.oracle.com/oramag/oracle/02-sep/o52sql.html
...
Рейтинг: 0 / 0
23.01.2003, 15:02
    #32095282
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Я вот поэкспериментировал и получил следующие результаты (не уверен, что мой код иделаен :) )

Код: plaintext
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
SQL> create table d_pivot (dt date not null, constraint d_pivot_dt_pk primary key (dt)) organization index;

Table created.

SQL> create table n_pivot (dt number( 5 ) not null, constraint n_pivot_dt_pk primary key (dt)) organization index;

Table created.

SQL> create table someshit (dt date not null, val number( 5 ) not null, constraint someshit_dt_pk primary key (dt));

Table created.

SQL> declare
   2   i number;
   3   begin
   4   for i in  1 .. 10000  loop
   5      insert into d_pivot values (trunc(sysdate -  365 * 5  + i));
   6      insert into n_pivot values (i);
   7   end loop;
   8   end;
   9   /

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

SQL> declare
   2   i number;
   3   begin
   4   for i in  1 .. 1000  loop
   5      insert into someshit (dt, val) values (trunc(sysdate -  365 * 5  + i* 2 ), i);
   6   end loop;
   7   end;
   8   /

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

SQL> select min(dt), max(dt) from d_pivot;

MIN(DT)   MAX(DT)
 --------- ---------
 
 25 -JAN- 98   11 -JUN- 25 


SQL> select min(dt), max(dt) from n_pivot;

   MIN(DT)    MAX(DT)
 ---------- ----------
 
          1        10000 


SQL> select min(dt), max(dt) from someshit;

MIN(DT)   MAX(DT)
 --------- ---------
 
 26 -JAN- 98   17 -JUL- 03 


SQL> begin
   2      dbms_utility.analyze_schema('EJB', 'COMPUTE');
   3   end;
   4   /

PL/SQL procedure successfully completed.

SQL> set autotrace traceonly explain statistics
SQL> set timing on
SQL>  -- вариант 1
 
SQL> select
   2      dp.dt,
   3      nvl(s.val,  0 )
   4   from
   5      d_pivot dp,
   6      someshit s
   7   where
   8      ( 1  =  1 )
   9      and (dp.dt = s.dt (+))
  10      and (dp.dt between to_date('07-11-2002', 'DD-MM-YYYY') and to_date('23-01-2003', 'DD-MM-YYYY'))
  11   order by
  12      dp.dt asc;

 78  rows selected.

Elapsed:  00 : 00 : 00 . 44 

Execution Plan
 ----------------------------------------------------------
 
    0       SELECT STATEMENT Optimizer=CHOOSE (Cost= 6  Card= 80  Bytes= 1360 )
    1      0    SORT (ORDER BY) (Cost= 6  Card= 80  Bytes= 1360 )
    2      1      HASH JOIN (OUTER) (Cost= 4  Card= 80  Bytes= 1360 )
    3      2        INDEX (RANGE SCAN) OF 'D_PIVOT_DT_PK' (UNIQUE) (Cost= 2  Card= 80  Bytes= 560 )
    4      2        TABLE ACCESS (FULL) OF 'SOMESHIT' (Cost= 1  Card= 1000  Bytes= 10000 )

Statistics
 ----------------------------------------------------------
 
           0   recursive calls
           4   db block gets
           5   consistent gets
           0   physical reads
           0   redo size
        3148   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           5   sorts (memory)
           0   sorts (disk)
          78   rows processed


SQL>  -- вариант 2
 
SQL> select
   2      dp.dt,
   3      nvl(q.val,  0 )
   4   from
   5      d_pivot dp,
   6      (select  /*+INDEX(s someshit_dt_pk) */  dt, val from someshit s where s.dt between to_date('07-11-2002', 'DD-MM-YYYY') and to_date('23-01-2003', 'DD-MM-YYYY')) q
   7   where
   8      ( 1  =  1 )
   9      and (dp.dt = q.dt (+))
  10      and (dp.dt between to_date('07-11-2002', 'DD-MM-YYYY') and to_date('23-01-2003', 'DD-MM-YYYY'))
  11   order by
  12      dp.dt asc;

 78  rows selected.

Elapsed:  00 : 00 : 00 . 42 

Execution Plan
 ----------------------------------------------------------
 
    0       SELECT STATEMENT Optimizer=CHOOSE (Cost= 7  Card= 80  Bytes= 1360 )
    1      0    MERGE JOIN (OUTER) (Cost= 7  Card= 80  Bytes= 1360 )
    2      1      INDEX (RANGE SCAN) OF 'D_PIVOT_DT_PK' (UNIQUE) (Cost= 2  Card= 80  Bytes= 560 )
    3      1      SORT (JOIN) (Cost= 5  Card= 41  Bytes= 410 )
    4      3        TABLE ACCESS (BY INDEX ROWID) OF 'SOMESHIT' (Cost= 3  Card= 41  Bytes= 410 )
    5      4          INDEX (RANGE SCAN) OF 'SOMESHIT_DT_PK' (UNIQUE) (Cost= 2  Card= 41 )

Statistics
 ----------------------------------------------------------
 
           8   recursive calls
           0   db block gets
          18   consistent gets
           3   physical reads
           0   redo size
        3148   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           3   sorts (memory)
           0   sorts (disk)
          78   rows processed


SQL>  -- вариант 3
 
SQL> select
   2      q.dt,
   3      nvl(s.val,  0 )
   4   from
   5      (select (to_date('07-11-2002', 'DD-MM-YYYY') + np.dt -  1 ) dt from n_pivot np) q,
   6      someshit s
   7   where
   8      ( 1  =  1 )
   9      and (q.dt = s.dt (+))
  10      and (q.dt <= to_date('23-01-2003', 'DD-MM-YYYY'))
  11   order by
  12      q.dt asc;

 78  rows selected.

Elapsed:  00 : 00 : 00 . 58 

Execution Plan
 ----------------------------------------------------------
 
    0       SELECT STATEMENT Optimizer=CHOOSE (Cost= 6  Card= 500  Bytes= 6500 )
    1      0    SORT (ORDER BY) (Cost= 6  Card= 500  Bytes= 6500 )
    2      1      HASH JOIN (OUTER) (Cost= 3  Card= 500  Bytes= 6500 )
    3      2        INDEX (FAST FULL SCAN) OF 'N_PIVOT_DT_PK' (UNIQUE) (Cost= 1  Card= 500  Bytes= 1500 )
    4      2        TABLE ACCESS (FULL) OF 'SOMESHIT' (Cost= 1  Card= 1000  Bytes= 10000 )

Statistics
 ----------------------------------------------------------
 
         256   recursive calls
           8   db block gets
          66   consistent gets
          16   physical reads
           0   redo size
        3148   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           9   sorts (memory)
           0   sorts (disk)
          78   rows processed

SQL>  -- вариант 4
 
SQL> select
   2      q.dt,
   3      nvl(s.val,  0 )
   4   from
   5      (select (to_date('07-11-2002', 'DD-MM-YYYY') + np.dt -  1 ) dt from n_pivot np where np.dt < (to_date('23-01-2003', 'DD-MM-YYYY') - to_date('07-11-2002', 'DD-MM-YYYY') +  2 )) q,
   6      someshit s
   7   where
   8      ( 1  =  1 )
   9      and (q.dt = s.dt (+))
  10   order by
  11      q.dt asc;

 78  rows selected.

Elapsed:  00 : 00 : 00 . 43 

Execution Plan
 ----------------------------------------------------------
 
    0       SELECT STATEMENT Optimizer=CHOOSE (Cost= 5  Card= 79  Bytes= 1027 )
    1      0    SORT (ORDER BY) (Cost= 5  Card= 79  Bytes= 1027 )
    2      1      HASH JOIN (OUTER) (Cost= 3  Card= 79  Bytes= 1027 )
    3      2        INDEX (FAST FULL SCAN) OF 'N_PIVOT_DT_PK' (UNIQUE) (Cost= 1  Card= 79  Bytes= 237 )
    4      2        TABLE ACCESS (FULL) OF 'SOMESHIT' (Cost= 1  Card= 1000  Bytes= 10000 )

Statistics
 ----------------------------------------------------------
 
           0   recursive calls
           8   db block gets
          18   consistent gets
           0   physical reads
           0   redo size
        3148   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           3   sorts (memory)
           0   sorts (disk)
          78   rows processed

SQL>  -- вариант 5
 
SQL> select
   2      q.dt,
   3      nvl(s.val,  0 )
   4   from
   5      (select (to_date('07-11-2002','DD-MM-YYYY') + r) dt from (select (rownum -  1 ) r from all_objects where rownum < (to_date('23-01-2003','DD-MM-YYYY') - to_date('07-11-2002','DD-MM-YYYY') +  2 ))) q,
   6      someshit s
   7   where
   8      ( 1  =  1 )
   9      and (q.dt = s.dt (+))
  10   order by
  11      q.dt asc;

 78  rows selected.

Elapsed:  00 : 00 : 00 . 78 

Execution Plan
 ----------------------------------------------------------
 
ERROR:
ORA- 01039 : insufficient privileges on underlying objects of the view


SP2- 0612 : Error generating AUTOTRACE EXPLAIN report

Statistics
 ----------------------------------------------------------
 
         757   recursive calls
           9   db block gets
         640   consistent gets
          14   physical reads
           0   redo size
        3148   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
          67   sorts (memory)
           0   sorts (disk)
          78   rows processed
...
Рейтинг: 0 / 0
23.01.2003, 16:48
    #32095364
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Очень просто:

[scr]
select date_start + rownum -1 from all_objects
where rownum < date_end - date_start + 1;
[scr]
...
Рейтинг: 0 / 0
23.01.2003, 17:18
    #32095397
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
А всё одно - любое использование all_objects вырождается в:
1. Тормоза
2. Ограничение по количеству возвращаемых строк
...
Рейтинг: 0 / 0
23.01.2003, 17:56
    #32095430
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Mogesh primenit LUBUYU tablu, kakuyu schitaesh nugnoy, prosto all_objects vsegda pod rukoy.

Dalee ogranichenie v 3000-5000 zapisey dlia takih zaprocov to kalendar na 5-10 let. Vpolne dostatochno.
...
Рейтинг: 0 / 0
23.01.2003, 18:29
    #32095466
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Что-то мне это не нравится:

Код: plaintext
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
   1   select to_date('07-11-2002','DD-MM-YYYY') + rownum -  1  from all_objects
   2   where rownum < to_date('23-01-2003','DD-MM-YYYY') -
   3 * to_date('07-11-2002','DD-MM-YYYY') +  2 
SQL> /

 78  rows selected.

Elapsed:  00 : 00 : 00 . 45 

Execution Plan
 ----------------------------------------------------------
 
    0       SELECT STATEMENT Optimizer=CHOOSE
    1      0    COUNT (STOPKEY)
    2      1      FILTER
    3      2        NESTED LOOPS
    4      3          TABLE ACCESS (FULL) OF 'USER$'
    5      3          TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
    6      5            INDEX (RANGE SCAN) OF 'I_OBJ2' (UNIQUE)
    7      2        TABLE ACCESS (BY INDEX ROWID) OF 'IND$'
    8      7          INDEX (UNIQUE SCAN) OF 'I_IND1' (UNIQUE)
    9      2        NESTED LOOPS
   10      9          FIXED TABLE (FULL) OF 'X$KZSRO'
   11      9          TABLE ACCESS (BY INDEX ROWID) OF 'OBJAUTH$'
   12     11            INDEX (RANGE SCAN) OF 'I_OBJAUTH2' (NON-UNIQUE)
   13      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   14      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   15      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   16      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   17      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   18      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   19      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   20      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   21      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   22      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   23      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   24      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   25      2        FIXED TABLE (FULL) OF 'X$KZSPR'
   26      2        FIXED TABLE (FULL) OF 'X$KZSPR'

Statistics
 ----------------------------------------------------------
 
           7   recursive calls
           4   db block gets
          89   consistent gets
           0   physical reads
           0   redo size
        2588   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           0   sorts (memory)
           0   sorts (disk)
          78   rows processed
...
Рейтинг: 0 / 0
23.01.2003, 18:47
    #32095483
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Код: plaintext
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.
44.
45.
46.
dan@oraspb>; create or replace type tbl_date_pivot as table of date;
   2   /

Type created.

dan@oraspb>; create or replace function pivot_date (
   2       p_start_date date
   3     , p_end_date date
   4   ) return tbl_pivot_date
   5   pipelined is
   6     outrow date;
   7     i date := trunc(p_start_date);
   8   begin
   9     loop
  10       outrow := i;
  11       pipe row(outrow);
  12       i := i +  1 ;
  13       exit when i > p_end_date;
  14     end loop;
  15     return;
  16   end;
  17   /

Function created.

dan@oraspb>; set autot traceonly stat
dan@oraspb>; select * from table(pivot_date(to_date('07-11-2002','DD-MM-YYYY'), to_date('23-01-2003',
'DD-MM-YYYY')));

 78  rows selected.


Statistics
 ----------------------------------------------------------
 
          23   recursive calls
           0   db block gets
          32   consistent gets
           0   physical reads
           0   redo size
        1518   bytes sent via SQL*Net to client
         550   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           0   sorts (memory)
           0   sorts (disk)
          78   rows processed

Но интересно, если повторить запрос:
Код: plaintext
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.
dan@oraspb>; set autot traceonly exp stat
dan@oraspb>; select * from table(pivot_date(to_date('07-11-2002','DD-MM-YYYY'), to_date('23-01-2003',
'DD-MM-YYYY')));

 78  rows selected.


Execution Plan
 ----------------------------------------------------------
 
    0       SELECT STATEMENT Optimizer=FIRST_ROWS (Cost= 11  Card= 6120 )
    1      0    COLLECTION ITERATOR (PICKLER FETCH) OF 'PIVOT_DATE'




Statistics
 ----------------------------------------------------------
 
           0   recursive calls
           0   db block gets
           0   consistent gets
           0   physical reads
           0   redo size
        1518   bytes sent via SQL*Net to client
         550   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           0   sorts (memory)
           0   sorts (disk)
          78   rows processed

А предыдущий запрос от Scott Tiger у меня постоянно 425 consistent gets выдает.
...
Рейтинг: 0 / 0
23.01.2003, 19:09
    #32095514
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Ну это pipelined, сиречь девятка...
У меня после многочисленных прогонов свелось к варианту

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Statistics
 ----------------------------------------------------------
 
           0   recursive calls
           4   db block gets
          87   consistent gets
           0   physical reads
           0   redo size
        2588   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           0   sorts (memory)
           0   sorts (disk)
          78   rows processed



Я вот всё жду, может, какой-нибудь деятель выдаст классический вариант с вьюхой и union all
...
Рейтинг: 0 / 0
23.01.2003, 19:44
    #32095541
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Если только даты тащить, без всяких джоинов с таблицами с данными, получается такая картина:

Код: plaintext
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.
   1 * select dt from d_pivot where dt between to_date('07-11-2002', 'DD-MM-YYYY') and to_date('23-01-2003', 'DD-MM-YYYY')
SQL> /

 78  rows selected.

Execution Plan
 ----------------------------------------------------------
 
    0       SELECT STATEMENT Optimizer=CHOOSE (Cost= 2  Card= 80  Bytes= 560 )
    1      0    INDEX (RANGE SCAN) OF 'D_PIVOT_DT_PK' (UNIQUE) (Cost= 2  Card= 80  Bytes= 560 )

Statistics
 ----------------------------------------------------------
 
           0   recursive calls
           0   db block gets
           8   consistent gets
           0   physical reads
           0   redo size
        2547   bytes sent via SQL*Net to client
         980   bytes received via SQL*Net from client
           7   SQL*Net roundtrips to/from client
           0   sorts (memory)
           0   sorts (disk)
          78   rows processed
...
Рейтинг: 0 / 0
24.01.2003, 11:00
    #32095733
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Для 8i вроде так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
create or replace type tbl_date as table of date;
/
create or replace function pivot_date (
    p_start_date date
  , p_end_date date
) return tbl_date is
  v_date tbl_date := tbl_date();
  i binary_integer :=  1 ;
begin
  loop
    v_date.extend;
    v_date(i) := p_start_date + i -  1 ;
    i := i +  1 ;
    exit when p_start_date + i > p_end_date;
  end loop;
  return v_date;
end;
/
select * 
from table(cast(pivot_date(to_date('03.12.2002', 'dd.mm.yyyy'), to_date('06.12.2002', 'dd.mm.yyyy')) as tbl_date));
...
Рейтинг: 0 / 0
24.01.2003, 12:08
    #32095806
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Действительно работает и, к тому же, достаточно прилично. Спасибо за просвещение :)
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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