首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL2000某列内容解决思路

2013-09-06 
SQL2000某列内容SQL2000某列内容请问表test,列名 qty如何判断qty列内容是否数值型?[解决办法]select *from

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


[解决办法]
引用:
这种方法好像也有点小问题,不一定要整数的呀,1.2, 1.33333,4,9,900000
就是判断是否数值型,不论是整数、小数  都应该判断为数值型。

--匹配模式中再加一个.即可。
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是否整数
1yes
1.2yes
abcno
*/

热点排行