日期:2014-05-18  浏览次数:20755 次

求救 文本+数字 的 varchar转换成数字型。。
问一下。。。。。。如何把   文本字段转换成数字字段??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

------解决方案--------------------
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)
------解决方案--------------------
select case when isnumeric(i)> 0 then i else 0 end from cc
------解决方案--------------------
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

*/--结束