|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
У меня почему-то такую ошибку выдала следующая строка в разделе where: Код: sql 1.
При этом если в раздел select вывести trunc(t.max_date, 'MM') x1, trunc(sysdate, 'MM') x2, то выводятся нормальные даты. Ещё я пробовал в разделе where вместо Код: sql 1.
указывать Код: sql 1.
- всё равно выскакивает ORA-01830. В чём тут дело и как это исправить? Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 09:44 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Pastic, какой тип t.max_date? ето поле таблицы? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 09:52 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Stax Pastic, какой тип t.max_date? ето поле таблицы? ..... stax В том-то и дело, что Date. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 10:09 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Вот полный текст запроса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 10:15 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Pastic, А точно в этой строке ошибка? У Вас идет конвертация имен партиций в формат ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 11:16 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Короче, вот так работает: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 12:13 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Pastic Код: plsql 1.
Для справки Это означает: вернуть из строки partition_name подстроку длиной 10 (десять) символов, начиная с 2 (второго) символа строки partition_name Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 12:28 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
SQL*Plus Pastic Код: plsql 1.
Для справки Это означает: вернуть из строки partition_name подстроку длиной 10 (десять) символов, начиная с 2 (второго) символа строки partition_name Код: plsql 1. 2. 3. 4. 5.
Да, но дело было не в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 12:40 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
SQL*Plus Для справки надо план смотреть у Pastic сначала to_date(substr(partition_name, 2, 10), 'yyyymmdd'), а потом table_owner='DWHV' and atp.partition_name like 'P%' ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 12:52 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Pastic SQL*Plus пропущено... Для справки Это означает: вернуть из строки partition_name подстроку длиной 10 (десять) символов, начиная с 2 (второго) символа строки partition_name Код: plsql 1. 2. 3. 4. 5.
Да, но дело было не в этом. А в чём? Что возвращает Код: plsql 1. 2. 3. 4.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 13:39 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
SQL*Plus, При использовании представлений словаря можно столкнуться с пробросом вычисления выражений до итогового фильтра. Аналогичная ситуация, например, с вызовом dbms_metadata.get_ddl по dba_views, когда функция применяется на obj#.name до отсечки по типу объекта. upd. Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 14:21 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
SQL*Plus Pastic пропущено... Да, но дело было не в этом. А в чём? Как и пояснил env - проблема в вычислении выражения до фильтра при обращении к системным словарям, поскольку all_tab_partitions - это не таблица, а представление. SQL*Plus Что возвращает Код: plsql 1. 2. 3. 4.
? 1 6 2 5 4 8 3 9 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 17:07 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Pastic Как и пояснил env - проблема в вычислении выражения до фильтра при обращении к системным словарям, поскольку all_tab_partitions - это не таблица, а представление. Нет. Представим что all_tab_partitions таблица: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
CTE (a.к.a WITH) не гарантирует материализацию и посему мы должны понимать что можем столкнуться с: Код: plsql 1. 2. 3.
и что условия WHERE могут выполнятся в любом порядке. И если trunc(rep_date, 'MM')<>trunc(sysdate, 'MM') будет выполнено первым, то и можем нарваться на ORA-01830. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 17:35 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
SY и что условия WHERE могут выполнятся в любом порядке. И если trunc(rep_date, 'MM')<>trunc(sysdate, 'MM') будет выполнено первым, то и можем нарваться на ORA-01830. SY. Да, но недетерминированная функция rownum в подзапросе спасает от этой неприятности: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 18:25 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Pastic Да, но недетерминированная функция rownum в подзапросе спасает от этой неприятности: В огороде бузина... И причем тут "это не таблица, а представление"? SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 19:34 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
SY Pastic Да, но недетерминированная функция rownum в подзапросе спасает от этой неприятности: В огороде бузина... И причем тут "это не таблица, а представление"? SY. rownum во where заставит "материализировать" и ошибка должна уйти and atp.partition_name like 'P%' and rownum<1234567890 ps можно обрамить decode/case, но некрасиво ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 09:33 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Stax SY пропущено... И причем тут "это не таблица, а представление"? rownum во where заставит "материализировать" Ходили слухи, что в самых свежих версиях это уже не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:06 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Pastic SQL*Plus Что возвращает Код: plsql 1. 2. 3. 4.
? 1 6 2 5 4 8 3 9 Какие-то строки, используемые при преобразовании в дату имеют длину 9 символов Это и вызывает ORA-01830: date format picture ends before converting entire input string Покажите, что это за строки. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
На ошибку ORA-01830 вы налетели в первую очередь. А могли бы налететь и на ORA-01840: input value not long enough for date format для строк с длиной меньше семи-восьми. Покажите, что это за строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:11 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
SQL*Plus Покажите, что это за строки. у Pastic нет таких строк, иначе БЫ слетало 22167052 ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:23 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:30 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
andrey_anonymous Stax пропущено... rownum во where заставит "материализировать" Ходили слухи, что в самых свежих версиях это уже не так. если выражение от rownum сложное (напр sin(rownum) ...), тож не так? расказывали что rownum>0 может проигнорировать, тут ясно но для and rownum<123456 непонятен механизм, для этого нужно гарантировано знать к-во строк выборки, тем более для вью .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:31 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
Stax rownum во where заставит "материализировать" и ошибка должна уйти and atp.partition_name like 'P%' and rownum<1234567890 http://orasql.org/2019/02/16/lateral-view-decorrelationvw_dcl-causes-wrong-results-with-rownum/ Stax and atp.partition_name like 'P%' and rownum<1234567890 нельзя так Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:46 |
|
ORA-01830: date format picture ends before converting entire input string
|
|||
---|---|---|---|
#18+
xtender, lateral+rownum видел ссылку, ето несколько другое, возможно баг 1234567890 заведомо больше чем строк в таблице пусть rownum<1e+62 зы у меня непонятки были и с with union all + rownum, плюнул и переписал .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:58 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1881066]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
81ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 351ms |
total: | 537ms |
0 / 0 |