日期:2014-05-18  浏览次数:20724 次

如何判断是否 是小数?
如 
TB
TB.c1 123.2323
TB.c2 9.0000


select * FROM TB WHERE TB.c1 ??? 判断小数







------解决方案--------------------
SQL code
DECLARE @i DECIMAL(18,3)
SET @I = 12.3333
SELECT CASE WHEN PATINDEX('%.%',CONVERT(VARCHAR,@i)) >0 THEN '含小数' ELSE '不含小数' end


--含小数

------解决方案--------------------
select * FROM TB WHERE charindex('.',TB.c1)>0
------解决方案--------------------
ISNUMERIC
------解决方案--------------------
isnumeric判断是否数值类型
------解决方案--------------------
SQL code
declare @tb table(C1 decimal(18,4))
insert @tb select 123.2323
insert @tb select 9.0000

select * from @tb where C1*10000%10000>0

/*
123.2323
*/