#sql #oracle #plsql
Имеется PL/SQL функциия с типом данных BOOLEAN как параметр: function get_something(name in varchar2, ignore_notfound in boolean); Эта функция часть инструментов от сторонних разработчиков и я не могу её менять. Хотелось бы использовать эту функцию в SELECT запросе: select get_something('NAME', TRUE) from dual; Но так не работает, получаю ошибку: ORA-00904: "TRUE": invalid identifier Как понимаю, кючевое слово TRUE не распознаётся. Как же сделать чтобы оно работало?
Ответы
Ответ 1
Можно сделать обёрточную функцию, например: function get_something (name in varchar2, ignore_notfound in varchar2) return varchar2 is begin return get_something (name, (upper(ignore_notfound) = 'TRUE')); end; Затем вызывать её так: select get_something ('Name', 'true') from dual; Решите, какие значения для ignore_notfound больше подходят. Я предположил, что 'TRUE' или 'true' означает TRUE, всё остальное - FALSE. Источник @TonyAndrews
Комментариев нет:
Отправить комментарий