SQL2000某列内容
SQL2000某列内容
请问表test,列名 qty
如何判断qty列内容是否数值型?
------解决方案--------------------select *
from syscolumns
where id=OBJECT_ID('test')
select case when xtype=56 then 'int类型' else '' end
from syscolumns
where id=OBJECT_ID('test') and name='qty'
------解决方案--------------------上面上判断类型,下面是判断内容
select *
from test
where isnumeric(qty)=1
------解决方案--------------------
--匹配模式中再加一个.即可。
CREATE TABLE #test(qty VARCHAR(100))
INSERT #test
SELECT '1' UNION ALL
SELECT '1.2' UNION ALL
SELECT 'abc'
SELECT *, 是否整数= CASE WHEN PATINDEX('%[^0-9.]%', CAST(qty AS VARCHAR(100))) = 0 THEN 'yes' ELSE 'no' end
FROM #TEST
/*
qty 是否整数
1 yes
1.2 yes
abc no
*/