也不用创建啊,有个函数叫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;
Result := 1;
return(Result);
end num;
用法与sign一致
如select num(100) from dual;
在Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在
Number的数据声明如下:
表示 作用 说明
Number(p) 声明一个整数 相当于Number(p, 0)
定点数的精度(p)和刻度(s)遵循以下规则:
当一个数的整数部分的长度 p-s 时,Oracle就会报错
当一个数的小数部分的长度 s 时,Oracle就会舍入.
当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入.
当s p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入
oracle的number类型带括号时如:NUMBER(P,S),只是用来指定所存储数据的精度等制约条件的,当所存储的数据超出你预先指定的精度的时候,Oracle会给你返回一个错误.反过来说,但你不指定精度等制约条件的是时候,也就是你默认使用Oracle自身所设定的最大精度等制约条件,当然是可以用来存储负数或小数的.如下,Oracle官方文档上是这样描述的.(描述中的precision 就是上文中的P,scale就是上文中的S)
Specify a floating-point number using the following form:
NUMBER
The absence of precision and scale designators specifies the maximum range and
precision for an Oracle number.
Private Sub Command1_Click() If Text1.Text 0 Then Print "负数" Else If Text1.Text = 0 Then Print "0" Else: Print "正数" End Sub
select * from A where to_char(日期字段,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm')
这样试验一下,表名和字段名你替换一下,也就是把A和日期字段这俩地方换一下
以上就是土嘎嘎小编为大家整理的oracle负数怎么显示相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!