关于oracle中约束输入的数字必须为整数的方法(急啊!!)

来源:百度知道 编辑:UC知道 时间:2024/06/16 23:25:08
在oracle中因为数值数据类型只有NUMBER
如果只用NUMBER(5)不指定小数位的方法来设置一个列
那么这个列当输入小数时oracle会自动的将其进行四舍五入
那么想约束只能输入整数的方法大家想想看有什么
我用了一个方法
create table student(
num number(5) check(num=trunc(num))
)
为什么还是能输入小数?系统会自动的将其转成整数存到数据库中。
把 num=trunc(num)换成num=round(num)或mod(num,num+1)=num之类的都不行
谁能给个办法啊
顺便解释一下为什么我的那个方法会不行啊

在前台就判断不行吗

大哥,还有个Integer类型你不知道吗,
check(num=trunc(num)) 这个Check你认为有用吗
试了下,只能保证输出是整数,输入就不能保证了,估计得用触发器才能搞定啊,

不行啊 1L
还是能向数据库添加非整数数据啊
oracle会将integer转换成number类型的
oracle本身只有number这个数值数据类型啊

你是想输入小数吗?用number(5,2);表示小数点后面有两位