问一下如何把 文本字段转换成数字字段??sql server中 
文本字段如果是纯数字 自动转换,如果是文本数字混合怎么转换成0?不提示将 varchar 值 'dge233' 转换为数据类型为 int 的列时发生语法错误。create table cc (i varchar(10))
insert into cc (i) values ('dge233')
go
select cast(i as int) from cc
go
drop table cc

解决方案 »

  1.   

    create table cc (i varchar(10))
    insert into cc (i) values ('dge233')
    select stuff(i, 1, patindex('%[0-9]%', i)-1, '') from cc--result
    233(1 row(s) affected)
      

  2.   

    如果 是 dge2jj33这样的 就不行了
    如果是纯数字 就转换数字 如果是字母数字混合 就返回0
      

  3.   

    select case when isnumeric(i)>0 then i else 0 end from cc
      

  4.   

    create table cc (i varchar(10))
    insert into cc (i) values ('dge233')
    insert into cc (i) values ('233')
    go
    select 结果=case when isnumeric(i)=1 then i else 0 end from cc
    go
    drop table cc/*--完成结果          
    ----------- 
    0
    233*/--结束