日期:2014-05-17 浏览次数:20571 次
select isnumeric('abc') 不是数字,isnumeric('23') 是数字;
------解决方案--------------------
ISNUMERIC ( expression )
------解决方案--------------------
isnumeric()
------解决方案--------------------
/* 网上经常有些博文说isnumeric不可靠。 例如: http://blog.csdn.net/cityeremite/article/details/2154781 例如: http://www.cnblogs.com/kokyu/archive/2012/07/23/2604492.html 等等很多... 我用SQL SERVER 2005做个测试。 */ select @@version /* Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2) */ --> 测试数据: @T declare @T table (col varchar(10)) insert into @T select '2.1' union all select '2.1-' union all select '2,111' union all select '+21' union all select '+2.1' union all select '-2.1' union all select '-22' union all select '2-2' union all select '234a234' union all select '111aaa' union all select 'a1' select * from @T where ISNUMERIC(col)=1 /* col ---------- 2.1 2,111 +21 +2.1 -2.1 -22 */ --说明isnumeric 是可以判断正负号和千分号和小数点的。