|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
Как вызвать функцию, если один из параметров date Есть функция с входным параметром p_calc_date in date Можно ли как-нибудь вызвать функцию при этом не преобразовывая в date Select f_api_func(to_date('01.08.2020', 'dd.mm.yyyy')) from dual; - так вызывается ошибки нет При попытке вызвать Select f_api_func('01.08.2020') from dual; -> not a valid month ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:12 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
Можно, но категорически не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:25 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
andrey_anonymous, Почему ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:28 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
x17.mstu, Можно, если преобразовывать неявно, но по статичной маске. Например литеральной записью Код: plsql 1.
, вы же восьмое января передаёте на вход? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:39 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
NLS BOMB. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:46 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
env преобразовывать неявно, но по статичной маске. Например литеральной записью Литерал не дает неявного преобразования. Вполне подходит для запросов "руками". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:47 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
andrey_anonymous, если дату надо со временем, то использовать TIMESTAMP? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 14:29 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
andrey_anonymous Литерал не дает неявного преобразования. Хорошо, назовём это явным преобразованием Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 14:30 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
env andrey_anonymous Литерал не дает неявного преобразования. Хорошо, назовём это явным преобразованием Код: plsql 1.
И что Вы этим хотели сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 13:14 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
x17.mstu andrey_anonymous, Почему ? преобразование строки в тип date функцией to_date (явно или не явно) зависит от настроек культурной среды. при неявном вызове to_date все зависит от настроек культурной среды БД или сессии пользователя. при явном вызове to_date , можно указать формат даты во втором аргументе и при необходимости дополнительные настройки NLS в третьем. Вы можете перед выполнением запросов явно вызвать ALTER SESSION SET NLS_DATE_FORMAT='dd.mm.yyyy'; и дальше писать Select f_api_func('01.08.2020') from dual; без явного вызова to_date. Еще замечу, что всякие SQL Developer для вывода датасета в виде таблички, использует формат даты из настроек самой программы, и он может не совпадать с настройками культурной среды сессии. Просто скопипастить дату из таблички в область SQL запроса в общем случае не получиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 13:42 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
andrey_anonymous, Что литеральная запись всё равно вызовет функцию преобразования строки в дату. Но в этом случае маска будет жёстко зафиксирована. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 14:14 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
env Но в этом случае маска будет жёстко зафиксирована. Именно. date литерал не зависит от NLS. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 14:16 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
andrey_anonymous Можно, но категорически не нужно. потом всё равно какой-нить олень вставит в джоб to_date('01.01.2020) или to_date(sysdate) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 19:27 |
|
Как вызвать функцию, если один из параметров date
|
|||
---|---|---|---|
#18+
andreymx andrey_anonymous Можно, но категорически не нужно. потом всё равно какой-нить олень вставит в джоб to_date('01.01.2020) или to_date(sysdate) А самое прикольное, когда функция/процедура с параметром с типом date вызывается не из другой PLSQL процедуры,а из другого приложения. Например на java или Oracle Forms/Reports, у которых есть свой PLSQL код, выполняющийся внутри них. Я потерял счёт переделанным отчетам на Oracle Reports, , где входной параметр с типом дата и маской '\yyyy\mm\dd' падали из-за входного параметра вида '\2012\02\18'. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2020, 15:24 |
|
|
start [/forum/topic.php?fid=52&fpage=28&tid=1880564]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 153ms |
0 / 0 |