powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01830: date format picture ends before converting entire input string
48 сообщений из 48, показаны все 2 страниц
ORA-01830: date format picture ends before converting entire input string
    #35722097
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORA-01830: date format picture ends before converting entire input string:

BEGIN
SELECT f1
INTO lf1
FROM t
WHERE id = pid
AND TRUNC(TO_DATE(f_date, 'dd.mm.yyyy' )) = (SELECT TRUNC(TO_DATE(MAX(f_date), 'dd.mm.yyyy'))
-- AND TRUNC(TO_DATE(f_date, 'dd.mm.yyyy hh24:mi' )) = (SELECT TRUNC(TO_DATE(MAX(f_date), 'dd.mm.yyyy hh24:mi'))
-- AND TO_DATE(f_date, 'dd.mm.yyyy hh24:mi' ) = (SELECT TO_DATE(MAX(f_date), 'dd.mm.yyyy hh24:mi')
FROM t
WHERE id = pid
AND f_date < sysdate - 1
-- AND TRUNC(TO_DATE(f_date, 'dd.mm.yyyy hh24:mi')) < TRUNC(TO_DATE(sysdate - 1, 'dd.mm.yyyy hh24:mi'))
);
EXCEPTION
....
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722103
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Енто на каком диалекте SQL?
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722122
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55Енто на каком диалекте SQL?

PL-SQL, на SQL работает
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722124
chupit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ORA-01830: date format picture ends before converting entire input string
Cause: A valid date format picture included extra data. The first part of the format picture was converted into a valid date, but the remaining data was not required.
Action: Check the specifications for date format pictures and correct the statement.

Например:

Код: plaintext
1.
2.
3.
select TO_DATE('2007/09/19 10:00', 'YYYY/MM/DD')  date_fmt from dual;

ORA- 01830 : date format picture ends before converting entire input string
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722126
Как-то смущает to_date(f_date).
f_date какого типа?
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722128
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - ЭхКак-то смущает to_date(f_date).
f_date какого типа?

DATE
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722130
А это вообще песня какая-то:
Код: plaintext
TO_DATE(sysdate -  1 , 'dd.mm.yyyy hh24:mi'))
Автор, объясни, зачем ты дату преобразовываешь в дату же? Или ты не веришь Oracle, подозревая, что SYSDATE тебе вернет строку/нумбер/etc.?
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722132
new_mannДобрый Э - ЭхКак-то смущает to_date(f_date).
f_date какого типа?

DATEТОгда вопрос о том, зачем дату преобразовываешь в дату же остается открытым... :)
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722133
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - ЭхА это вообще песня какая-то:
Код: plaintext
TO_DATE(sysdate -  1 , 'dd.mm.yyyy hh24:mi'))
Автор, объясни, зачем ты дату преобразовываешь в дату же? Или ты не веришь Oracle, подозревая, что SYSDATE тебе вернет строку/нумбер/etc.?

жто закомментировано
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722135
new_mannжто закомментированоА это - нет:
Код: plaintext
AND TRUNC(TO_DATE(f_date, 'dd.mm.yyyy' )) = (SELECT TRUNC(TO_DATE(MAX(f_date), 'dd.mm.yyyy'))
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722150
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхnew_mannДобрый Э - ЭхКак-то смущает to_date(f_date).
f_date какого типа?

DATEТОгда вопрос о том, зачем дату преобразовываешь в дату же остается открытым... :)

http://oracle.ittoolbox.com/groups/technical-functional/oracle-sql-l/ora01830-date-format-picture-ends-before-converting-entire-input-string-2145461

ты пишешь так?
а что будет в базе с другими NLS?

BEGIN
SELECT f1
INTO lf1
FROM t
WHERE id = pid
AND TRUNC(f_date) = (SELECT TRUNC(MAX(f_date))
FROM t
WHERE id = pid
AND f_date < sysdate - 1
);
EXCEPTION
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722155
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
new_mannДобрый Э - Эхnew_mannДобрый Э - ЭхКак-то смущает to_date(f_date).
f_date какого типа?

DATEТОгда вопрос о том, зачем дату преобразовываешь в дату же остается открытым... :)

http://oracle.ittoolbox.com/groups/technical-functional/oracle-sql-l/ora01830-date-format-picture-ends-before-converting-entire-input-string-2145461

ты пишешь так?
а что будет в базе с другими NLS?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
BEGIN
SELECT f1
INTO lf1
FROM t
WHERE id = pid
AND TRUNC(f_date) = (SELECT TRUNC(MAX(f_date))
FROM t
WHERE id = pid
AND f_date < sysdate -  1 
);
EXCEPTION

При оформлении кода используйте, пожалуйста, тег SRC данного форума.
Этим вы повысите свои шансы на получение ответа.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722158
new_mannты пишешь так?
а что будет в базе с другими NLS?Тебе ещё рано задавать такие вопросы. Так как ты сам не знаешь на него правильного ответа. :) Более того, по всему видно, что ты вообще не в курсе, что такие NLS и как оно в Oracle работает... :)
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722164
И ещё намек. NLS влияет лишь на отображение информации пользователю и на неявное преобразование между типами данных. На формат же самих типов данных (то, как данные храняться в БД) он вообще никак не влияет
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722168
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхnew_mannты пишешь так?
а что будет в базе с другими NLS?Тебе ещё рано задавать такие вопросы. Так как ты сам не знаешь на него правильного ответа. :) Более того, по всему видно, что ты вообще не в курсе, что такие NLS и как оно в Oracle работает... :)

Тебе рано ответы писать:

ORA-01830: date format picture ends before converting entire input string
Cause: A valid date format picture included extra data. The first part of the format picture was converted into a valid date, but the remaining data was not required.
Action: Check the specifications for date format pictures and correct the statement.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722179
new_mannДобрый Э - Эхnew_mannты пишешь так?
а что будет в базе с другими NLS?Тебе ещё рано задавать такие вопросы. Так как ты сам не знаешь на него правильного ответа. :) Более того, по всему видно, что ты вообще не в курсе, что такие NLS и как оно в Oracle работает... :)

Тебе рано ответы писать:

ORA-01830: date format picture ends before converting entire input string
Cause: A valid date format picture included extra data. The first part of the format picture was converted into a valid date, but the remaining data was not required.
Action: Check the specifications for date format pictures and correct the statement.Сразу видно, что ты туп до безобразия. Посмотри какой тип принимает на входе функция TO_DATE, посмотри какой тип ты ей пихаешь в качетсве аргумента. Подумай. Вспомни про неявные преобразования типов (если ты вообще о них знал хоть что-то). Думаю, все твои попытки выглядеть умнее, чем ты есть, - сразу же прекратяться. :)
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722189
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ответ - НЕ НАДО тип date запихивать в to_date
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722191
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхnew_mannДобрый Э - Эхnew_mannты пишешь так?
а что будет в базе с другими NLS?Тебе ещё рано задавать такие вопросы. Так как ты сам не знаешь на него правильного ответа. :) Более того, по всему видно, что ты вообще не в курсе, что такие NLS и как оно в Oracle работает... :)

Тебе рано ответы писать:

ORA-01830: date format picture ends before converting entire input string
Cause: A valid date format picture included extra data. The first part of the format picture was converted into a valid date, but the remaining data was not required.
Action: Check the specifications for date format pictures and correct the statement.Сразу видно, что ты туп до безобразия. Посмотри какой тип принимает на входе функция TO_DATE, посмотри какой тип ты ей пихаешь в качетсве аргумента. Подумай. Вспомни про неявные преобразования типов (если ты вообще о них знал хоть что-то). Думаю, все твои попытки выглядеть умнее, чем ты есть, - сразу же прекратяться. :)

я тут выяснять и отвечать на твое ... не буду:

ORA-01830: date format picture ends before converting entire input string
Reply from blarman on 5/30/2008 10:14:00 AM

Dates always have to be formatted properly, and given that you can
alter the default date format parameter either globally or locally, it
is a good idea to always control the conversion formatting of dates
using the to_date() and to_char() functions. In this case, send the
query as:
... where CAL_DT = to_date('$end_date','DD-MON-RR');
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722199
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Эх

/topic/48295&hl=to_date
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722217
new_mann2 Эх

/topic/48295&hl=to_dateЯ тебе уже всё сказал, но ты обиделся... :)
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722237
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхnew_mann2 Эх

/topic/48295&hl=to_dateЯ тебе уже всё сказал, но ты обиделся... :)

TO_DATE для DATE не импользовать, ясно, спасибо, конечно :-)
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722252
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сначала так и было без преобразования, но на базе с другими настройками были ошибки о преобразовании, тупость согласен, NLS тоже ясно не при чем
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722267
new_mannна базе с другими настройками были ошибки о преобразованииВидимо, там были другие ошибки...
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722279
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхnew_mannты пишешь так?
а что будет в базе с другими NLS?Тебе ещё рано задавать такие вопросы. Так как ты сам не знаешь на него правильного ответа. :) Более того, по всему видно, что ты вообще не в курсе, что такие NLS и как оно в Oracle работает... :)

собственно это был просто вопрос...
на амер. базе без TO_DATE(DD-MON-YY ошибок, на длугой на TO_DATE(DD-MON-YY ошибка
ORA-01861: literal does not match format string
без преобразований!
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #35722287
new_mann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхnew_mannна базе с другими настройками были ошибки о преобразованииВидимо, там были другие ошибки...

Была такая мысль, надо было проэкспериментировать. Но спасибо, все проще если не усложнять:-)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ORA-01830: date format picture ends before converting entire input string
    #39979305
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня почему-то такую ошибку выдала следующая строка в разделе where:
Код: sql
1.
trunc(t.max_date, 'MM')=trunc(sysdate, 'MM')



При этом если в раздел select вывести trunc(t.max_date, 'MM') x1, trunc(sysdate, 'MM') x2, то выводятся нормальные даты.

Ещё я пробовал в разделе where вместо
Код: sql
1.
trunc(t.max_date, 'MM')-trunc(sysdate, 'MM')

указывать
Код: sql
1.
trunc(t.max_date, 'MM')-trunc(sysdate, 'MM')=0

- всё равно выскакивает ORA-01830.

В чём тут дело и как это исправить?

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979309
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic,

какой тип t.max_date? ето поле таблицы?

.....
stax
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979317
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax
Pastic,

какой тип t.max_date? ето поле таблицы?

.....
stax


В том-то и дело, что Date.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979320
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот полный текст запроса:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select trunc(t.rep_date, 'MM') x1, trunc(sysdate, 'MM') x2, rep_date, partition_name, table_name
from
  (select to_date(substr(partition_name, 2, 10), 'yyyymmdd') rep_date,
     partition_name, table_name
   from all_tab_partitions atp
   where table_owner='DWHV'
     and atp.partition_name like 'P%') t
where trunc(t.rep_date, 'MM')<>trunc(sysdate, 'MM')
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979348
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic,
А точно в этой строке ошибка?

У Вас идет конвертация имен партиций в формат
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979381
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, вот так работает:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with t as
  (select /*+ materialize */ to_date(substr(partition_name, 2, 10), 'yyyymmdd') rep_date,
     partition_name, table_name
   from all_tab_partitions
   where table_owner='DWHV'
     and partition_name like 'P%')
select rep_date, partition_name, table_name
from t
where trunc(t.rep_date, 'MM')<>trunc(sysdate, 'MM')
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979391
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic

Код: plsql
1.
substr(partition_name, 2, 10)



Для справки
Это означает:
вернуть из строки partition_name подстроку длиной 10 (десять) символов,
начиная с 2 (второго) символа строки partition_name

Код: plsql
1.
2.
3.
4.
5.
SQL> SELECT substr('1234567890ABCDEF', 2, 10) AS substr FROM dual;

SUBSTR    
----------
234567890A
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979398
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus
Pastic

Код: plsql
1.
substr(partition_name, 2, 10)




Для справки
Это означает:
вернуть из строки partition_name подстроку длиной 10 (десять) символов,
начиная с 2 (второго) символа строки partition_name

Код: plsql
1.
2.
3.
4.
5.
SQL> SELECT substr('1234567890ABCDEF', 2, 10) AS substr FROM dual;

SUBSTR    
----------
234567890A



Да, но дело было не в этом.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979410
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus

Для справки

надо план смотреть
у Pastic
сначала to_date(substr(partition_name, 2, 10), 'yyyymmdd'), а потом table_owner='DWHV' and atp.partition_name like 'P%'

.....
stax
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979452
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic
SQL*Plus
пропущено...

Для справки
Это означает:
вернуть из строки partition_name подстроку длиной 10 (десять) символов,
начиная с 2 (второго) символа строки partition_name

Код: plsql
1.
2.
3.
4.
5.
SQL> SELECT substr('1234567890ABCDEF', 2, 10) AS substr FROM dual;

SUBSTR    
----------
234567890A



Да, но дело было не в этом.

А в чём?


Что возвращает
Код: plsql
1.
2.
3.
4.
SELECT DISTINCT LENGTH(substr(partition_name, 2, 10)) AS len_rep_date
from all_tab_partitions atp
where table_owner='DWHV'
  and atp.partition_name like 'P%'

?
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979475
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus,

При использовании представлений словаря можно столкнуться с пробросом вычисления выражений до итогового фильтра.

Аналогичная ситуация, например, с вызовом dbms_metadata.get_ddl по dba_views, когда функция применяется на obj#.name до отсечки по типу объекта.

upd.

Код: plsql
1.
2.
3.
4.
select view_name from dba_views where owner = 'SYSTEM' and dbms_metadata.get_ddl('VIEW', view_name, owner) like '%any%';

ORA-31603: объект "AQ$_INTERNET_AGENTS" с типом VIEW не найден в схеме "SYSTEM"
ORA-06512: на  "SYS.DBMS_METADATA", line 6731
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979563
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus
Pastic
пропущено...


Да, но дело было не в этом.

А в чём?


Как и пояснил env - проблема в вычислении выражения до фильтра при обращении к системным словарям, поскольку all_tab_partitions - это не таблица, а представление.

SQL*Plus

Что возвращает
Код: plsql
1.
2.
3.
4.
SELECT DISTINCT LENGTH(substr(partition_name, 2, 10)) AS len_rep_date
from all_tab_partitions atp
where table_owner='DWHV'
  and atp.partition_name like 'P%'


?


1
6
2
5
4
8
3
9
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979569
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic

Как и пояснил env - проблема в вычислении выражения до фильтра при обращении к системным словарям, поскольку all_tab_partitions - это не таблица, а представление.


Нет. Представим что all_tab_partitions таблица:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select trunc(t.rep_date, 'MM') x1, trunc(sysdate, 'MM') x2, rep_date, partition_name, table_name
from
  (select to_date(substr(partition_name, 2, 10), 'yyyymmdd') rep_date,
     partition_name, table_name
   from all_tab_partitions atp
   where table_owner='DWHV'
     and atp.partition_name like 'P%') t
where trunc(t.rep_date, 'MM')<>trunc(sysdate, 'MM')



CTE (a.к.a WITH) не гарантирует материализацию и посему мы должны понимать что можем столкнуться с:

Код: plsql
1.
2.
3.
   where table_owner='DWHV'
     and partition_name like 'P%'
     and trunc(rep_date, 'MM')<>trunc(sysdate, 'MM')



и что условия WHERE могут выполнятся в любом порядке. И если trunc(rep_date, 'MM')<>trunc(sysdate, 'MM') будет выполнено первым, то и можем нарваться на ORA-01830.

SY.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979598
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY
и что условия WHERE могут выполнятся в любом порядке. И если trunc(rep_date, 'MM')<>trunc(sysdate, 'MM') будет выполнено первым, то и можем нарваться на ORA-01830.

SY.


Да, но недетерминированная функция rownum в подзапросе спасает от этой неприятности:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select trunc(t.rep_date, 'MM') x1, trunc(sysdate, 'MM') x2, rep_date, partition_name, table_name
from
  (select to_date(substr(partition_name, 2, 10), 'yyyymmdd') rep_date,
     partition_name, table_name, rownum rn
   from all_tab_partitions atp
   where table_owner='DWHV'
     and atp.partition_name like 'P%') t
where trunc(t.rep_date, 'MM')<>trunc(sysdate, 'MM')
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979615
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic

Да, но недетерминированная функция rownum в подзапросе спасает от этой неприятности:


В огороде бузина... И причем тут "это не таблица, а представление"?

SY.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979736
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY
Pastic

Да, но недетерминированная функция rownum в подзапросе спасает от этой неприятности:


В огороде бузина... И причем тут "это не таблица, а представление"?

SY.


rownum во where заставит "материализировать" и ошибка должна уйти

and atp.partition_name like 'P%' and rownum<1234567890

ps
можно обрамить decode/case, но некрасиво

.....
stax
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979754
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax
SY
пропущено...
И причем тут "это не таблица, а представление"?

rownum во where заставит "материализировать"

Ходили слухи, что в самых свежих версиях это уже не так.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979838
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic

SQL*Plus

Что возвращает
Код: plsql
1.
2.
3.
4.
SELECT DISTINCT LENGTH(substr(partition_name, 2, 10)) AS len_rep_date
from all_tab_partitions atp
where table_owner='DWHV'
  and atp.partition_name like 'P%'


?

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.
SQL> select to_date('20200712', 'yyyymmdd') from dual;

TO_DATE('20200712',
-------------------
12.07.2020 00:00:00

SQL> select to_date('202007123', 'yyyymmdd') from dual;

Error starting at line : 32 in command -
select to_date('202007123', 'yyyymmdd') from dual
Error report -
ORA-01830: шаблон формата даты завершается перед преобразованием всей строки ввода


На ошибку ORA-01830 вы налетели в первую очередь.
А могли бы налететь и на ORA-01840: input value not long enough for date format
для строк с длиной меньше семи-восьми.
Покажите, что это за строки.
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979846
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus

Покажите, что это за строки.


у Pastic нет таких строк, иначе БЫ слетало 22167052

.....
stax
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979854
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax
SQL*Plus

Покажите, что это за строки.


у Pastic нет таких строк, иначе БЫ слетало 22167052

Я эти строки не придумал.
По моей просьбе автор сам их показал
22167311
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979855
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Stax
пропущено...

rownum во where заставит "материализировать"

Ходили слухи, что в самых свежих версиях это уже не так.


если выражение от rownum сложное (напр sin(rownum) ...), тож не так?

расказывали что rownum>0 может проигнорировать, тут ясно

но для and rownum<123456 непонятен механизм,
для этого нужно гарантировано знать к-во строк выборки, тем более для вью

....
stax
...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979870
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
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.
select * 
from (select * from table(odcinumberlist(1,1,1,2,2,2,3,3,3)) order by 1)
where rownum <= 2
  and column_value = 3;
 
 
COLUMN_VALUE
------------
           3
           3

select * 
from (select *
      from (select * from table(odcinumberlist(1,1,1,2,2,2,3,3,3)) order by 1)
      where rownum <= 2
     )
where column_value = 3;
 
no rows selected


...
Рейтинг: 0 / 0
ORA-01830: date format picture ends before converting entire input string
    #39979884
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtender,

lateral+rownum видел ссылку, ето несколько другое, возможно баг

1234567890 заведомо больше чем строк в таблице

пусть rownum<1e+62

зы
у меня непонятки были и с with union all + rownum, плюнул и переписал

....
stax
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01830: date format picture ends before converting entire input string
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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