|
|
|
Функция преобразующая текстовое поле в дату
|
|||
|---|---|---|---|
|
#18+
Привет ребята! Помогите, пожалуйста, написать функцию на PL/SQL. Есть поле BIRTHDAY, оно текстовое. Надо осуществить проверку и привести к общему виду, если это возможно. Необходимый формат: DD.MM.YYYY BIRTHDAY ------------- 1997-04-14 00.00.0 30.11.1961 1988-10-30T00:00:00:000 20.11.1982 7986-06-05 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 13:19 |
|
||
|
Функция преобразующая текстовое поле в дату
|
|||
|---|---|---|---|
|
#18+
MacJei, Oracle Doc SQL References TO_DATE Datetime Format Models Далее перехват ( PL/SQL Error Handling ) возможных ошибок преобразования и проверка на корректность типа: Код: plsql 1. 2. 3. 4. Но как ты будешь определять, что в строке сохранено, например вот в такой: '6.11.1961' - Это 6 ноября или 11 июня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 13:35 |
|
||
|
Функция преобразующая текстовое поле в дату
|
|||
|---|---|---|---|
|
#18+
MacJei, Создайте свою хранимую функцию которая на вход будет принимать строку, а дальше по шаблонам разбирать строку Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 13:38 |
|
||
|
Функция преобразующая текстовое поле в дату
|
|||
|---|---|---|---|
|
#18+
MacJei, Единственно, для спорных строк, в том числе и тех, что могут толковаться двояко, создать таблицу ссылок на спорные записи для ручного разбора оператором ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 13:38 |
|
||
|
Функция преобразующая текстовое поле в дату
|
|||
|---|---|---|---|
|
#18+
Vadim Lejninдвоякотрояко, четверяко,... Например 11-11-11 можно трактовать шестеряко с одинаковым результатом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 13:44 |
|
||
|
Функция преобразующая текстовое поле в дату
|
|||
|---|---|---|---|
|
#18+
Vadim LejninДалее перехват ( PL/SQL Error Handling ) возможных ошибок преобразования и проверка на корректность типа: c 12.2 можно указать дефолтное значение на случай ошибок преобразования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 13:52 |
|
||
|
Функция преобразующая текстовое поле в дату
|
|||
|---|---|---|---|
|
#18+
xtender c 12.2 можно указать дефолтное значение на случай ошибок преобразования Лучше бы Oracle добавил парaметр NLSPARAM ко всем DATE/TIMESTAMP функциям и кроме 'NLS_DATE_LANGUAGE = language' добавил-бы туда как минимум NLS_TERRITORY. А то ф-ции типа NEXT_DAY и скажем формат D как не дружили с глобализацией так и не дружат. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39752955&tid=1883002]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
179ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 521ms |

| 0 / 0 |
