从oracle函数返回布尔值 [英] Return boolean value from oracle function
问题描述
试图从函数返回值
create or replace function compairenumber(num1 in number,num2 in number)
return boolean is
begin
if num1 < num2 then
return true;
else
return false;
end if;
end;
当我给出查询时从双中选择compairenumber(5,10)它不会返回true或false.
when i'm giving query select compairenumber(5,10) from dual its not returning true or false.
推荐答案
布尔值只能在其他PL/SQL代码中使用,不能在Oracle SQL中使用.如果想要一个返回值可用于 select ... from dual
的函数,则需要定义该函数以返回值返回
和 varchar2
分别为'true''false'
(或'T'
和'F'
或返回数字,带有值1和0).
Boolean values can only be used in other PL/SQL code, not in Oracle SQL. If you want a function whose return value is available in a select ... from dual
then you will need to define the function to return varchar2
with the return values 'true'
and 'false'
respectively (or 'T'
and 'F'
, or return number, with the values 1 and 0).
令人遗憾的是,Oracle SQL不支持布尔数据类型(尽管编程语言PL/SQL支持).
As sad as this is, Oracle SQL does not support the Boolean data type (although the programming language PL/SQL does).
这篇关于从oracle函数返回布尔值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!