Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
02.02.2020, 11:15
|
|||
---|---|---|---|
|
|||
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
Добрый день, я начинающий пользователь pl sql, подскажите пожалуйста, как можно решить подобную задачу. Есть таблица, которую нужно обработать, имеет 5 столбцов: col1,col2,col3,col4,col5: create table test ( col1 varchar2(100), col2 varchar2(100), col3 varchar2(100), col4 varchar2(100), col5 varchar2(100)); insert into test (col1,col2,col3,col4,col5) values ('1', '123', '123','10.06.2019','234') insert into test (col1,col2,col3,col4,col5) values ('456', '3', '156','10.07.2019','2') insert into test (col1,col2,col3,col4,col5) values ('3', '123', '23','10.08.2019','234') В столбце col4 находится дата - проблема в том, что дата может находится каждый раз в разном столбце, алгоритм обработки нужен универсальный, как можно пройтись поочередно по всем столбцам таблицы и определить в каком столбце все записи длиной 10 (length(coln) = 10), запомнить имя столбца и дальше его передать в select, который будет уже обрабатывать таблицу? Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2020, 13:56
|
|||
---|---|---|---|
|
|||
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2020, 15:00
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
задача как раз для начинающего чтобы изучил форматы текстовых представлений дат, подумал о NLS и всякой прочей фигне например, является ли датой строка 31-02-2020 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 09:29
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
dasha07 дата может находится каждый раз в разном столбце, алгоритм обработки нужен универсальный, как можно пройтись поочередно по всем столбцам таблицы и определить в каком столбце все записи длиной 10 (length(coln) = 10) Т.е. это тоже дата? Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 10:00
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
Synoptic Т.е. это тоже дата? Код: plsql 1.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 11:19
|
|||
---|---|---|---|
|
|||
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
dasha07, задача какая-то слишком учебная =) действительно, определять, является ли столбец датой по его длине - путь в никуда. Можно написать примерно такую функцию, прописав в ней все допустимые по задаче форматы даты Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
затем достаточно, наверное, обработать только первую строку таблицы, определить, в каком столбце дата, запомнить его название и выплюнуть table с этим столбцом, приведенным к дате. для этого придется почитать про табличные функции, например Oracle – табличные конвейерные функции ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 11:35
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
chidoriami затем достаточно pl/sql здесь незачем. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 12:38
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
chidoriami Код: plsql 1.
уверены, что так надо писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 13:18
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
alex-ls chidoriami Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 13:42
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
Elic alex-ls пропущено... уверены, что так надо писать? зачем же "ловить" others, когда цель конкретная ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 13:46
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
alex-ls конкретная ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 14:00
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
одну нет конечно, их там "кучка" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 14:01
|
|||
---|---|---|---|
|
|||
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
-2-, ну вообще да, можно и запросом обойтись. там че-то не совсем понятно, какой результат ожидаем ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 14:16
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
alex-ls одну нет конечно, их там "кучка" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 14:22
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
Elic alex-ls одну нет конечно, их там "кучка" Я не говорил что надо без него обойтись. Мне не понравилось, что нет логирования или перечисления ошибок, которые сработали, т.е. понять постфактум, что произошло не получиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 14:36
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
alex-ls что произошло не получиться ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 14:49
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
-2- alex-ls что произошло не получиться логирование и покажет, что произошло. например 01.99.2020 будет неверный месяц ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 15:36
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
alex-ls Мне не понравилось, что нет логирования или перечисления ошибок, которые сработали, т.е. понять постфактум, что произошло не получиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 15:50
|
|||
---|---|---|---|
|
|||
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
все зависит от нашей цели =) нафига тут логировать ошибки, если мы собираемся использовать это в запросе и искать таким образом валидные даты? мы ж применим эту функцию ко всем столбцам, и в них полный расколбас ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 16:03
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
chidoriami все зависит от нашей цели =) нафига тут логировать ошибки, если мы собираемся использовать это в запросе и искать таким образом валидные даты? мы ж применим эту функцию ко всем столбцам, и в них полный расколбас лет 5 или 6 пока не свалилась ошибка на 30-м февраля ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 16:33
|
|||
---|---|---|---|
|
|||
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
Cast(... On conversion error...) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 17:37
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
Elic alex-ls Мне не понравилось, что нет логирования или перечисления ошибок, которые сработали, т.е. понять постфактум, что произошло не получиться. да тут признаю. в голове одно, а цитирую немного не то. не в первый раз уже... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 17:39
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
alex-ls -2- пропущено... Допустим, по приведенным автором данным залогировалось 12 разнообразных ошибок. Что же произошло?? логирование и покажет, что произошло. например 01.99.2020 будет неверный месяц И не объясняет, зачем вообще нужно знать про наличие некорректных значений. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2020, 20:47
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
xtender Cast(... On conversion error...) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.02.2020, 02:53
|
|||
---|---|---|---|
Поиск столбца в таблице с помощью цикла plsql |
|||
#18+
-2- alex-ls пропущено... логирование и покажет, что произошло. например 01.99.2020 будет неверный месяц И не объясняет, зачем вообще нужно знать про наличие некорректных значений. когда это реальное, а не тестовое задание, то надо знать в 99% почему не сконвертировалось в дату, иначе зачем конвертировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&tablet=1&tid=1881593]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 309ms |
total: | 462ms |
0 / 0 |