4个回答
展开全部
也不用创建啊,有个函数叫sign
用法:
select sign(数值) from dual
大于0返回1,等于0返回0,小于0返回-1
你说的那个
select * from count where sign(num1)=1
得出来的就是为正数的了
---补充--
create or replace FUNCTION NUM(v_num number)
return int is
Result int;
begin
if(v_num < 0) then
Result := -1;
end if;
if(v_num = 0) then
Result := 0;
end if;
if(v_num > 0) then
Result := 1;
end if;
return(Result);
end num;
用法与sign一致
如select num(100) from dual;
用法:
select sign(数值) from dual
大于0返回1,等于0返回0,小于0返回-1
你说的那个
select * from count where sign(num1)=1
得出来的就是为正数的了
---补充--
create or replace FUNCTION NUM(v_num number)
return int is
Result int;
begin
if(v_num < 0) then
Result := -1;
end if;
if(v_num = 0) then
Result := 0;
end if;
if(v_num > 0) then
Result := 1;
end if;
return(Result);
end num;
用法与sign一致
如select num(100) from dual;
展开全部
一、oracle 中专门有一个函数来判断的——sign函数,用法:sign(a),如果a是负数则返回-1;如果是0,返回0;如果是正数,返回1。
二、执行:select * from count a where sign(a.num1) = 1;语句,所查结果即count表中所有num1字段为正的信息。
二、执行:select * from count a where sign(a.num1) = 1;语句,所查结果即count表中所有num1字段为正的信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Oracle 自带的函数 SIGN
表达式的正 (+1)、零 (0) 或负 (-1) 号
SQL> SELECT SIGN(-47.3), SIGN(0), SIGN(47.3) FROM dual;
SIGN(-47.3) SIGN(0) SIGN(47.3)
----------- ---------- ----------
-1 0 1
表达式的正 (+1)、零 (0) 或负 (-1) 号
SQL> SELECT SIGN(-47.3), SIGN(0), SIGN(47.3) FROM dual;
SIGN(-47.3) SIGN(0) SIGN(47.3)
----------- ---------- ----------
-1 0 1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用创建函数
CASE WHEN digit > 0 THEN '+'
WHEN digit = 0 THEN '0'
ELSE '-' END
SELECT number from num1 WHERE num1 > 0
CASE WHEN digit > 0 THEN '+'
WHEN digit = 0 THEN '0'
ELSE '-' END
SELECT number from num1 WHERE num1 > 0
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询