用SQL语句如何查询出表中小数位数为2位以上的数值

来源:百度知道 编辑:UC知道 时间:2024/05/28 00:03:10
如:分数
0.1
0.21
0.233
0.234
0.24332
我如何能查询返回后面3个数值?
如果是金额的话,要用convert 进行转换,如何转换?
如 计划价格
23.12
23.134
45
245.678
我怎么查询出小数位数为2位以上的,麻烦各位高手写的详细点好吗?

请问 where (len(price)-charindex('.',convert(varchar(200),price)))>2
以后仍然会"显示出不允许从数据类型 money 到 varchar 的隐性转换。请使用 CONVERT 函数来运行此查询"。为什么呢???

假设此数据表为“T1”,此价格列名为“price”,则sql语句为:
select price from T1
where (len(price)-charindex('.',convert(varchar(200),price)))>2

其中,len(price)是求出price字段的总长度;
charindex('.',convert(varchar(200),price))是求出price字段从头到 小数点的长度;这里首先将price字段转换成varchar型;
两者的差就是小数点后的长度了

判断长度不就行了

如果数据全部如你写的没有0以外的整数位,那直接判断长度就可以了
select filed from tablename where len(filed) > 3
如果还有其他的整数位就需要多用几个其他的函数了,比如查询到小数位前面有几位,然后再算后面的小数位

三楼的正确