ISNUMERIC
确定表达式是否为一个有效的数字类型。语法
ISNUMERIC ( expression )参数
expression要计算的表达式。返回类型
int

解决方案 »

  1.   

    declare @s nvarchar(1000)
    declare @s1 nvarchar(1000)set @s='中国1234X'set @s1='1234X'select patindex('%[^0-9,X]%',@s)  ---result 1 包含其他
    select patindex('%[^0-9,X]%',@s1) ---result 1 不包含其他
      

  2.   

    select case when 字段 like '%[^0-9^X]%' then '包含非数字及非X的数据' else '纯数字或者X' end
    from 表
      

  3.   


    declare @s1 nvarchar(1000)
    declare @s2 nvarchar(1000)set @s1='XXXX'
    set @s2='12345'select Isnumeric(@s1)  ---result 0 不是全由数字组成
    select Isnumeric(@s2)  ---result 1 全由数字组成
      

  4.   

    declare @s nvarchar(2000)
    set @s='222232'  --任何数
    select case(patindex('%[^0-9,X]%',@s)) when 0 then'由X或者数字组成'
    else '含有其它字符' end