读书人

求救 文本+数字 的 varchar转换成数字

发布时间: 2012-03-08 13:30:13 作者: rapoo

求救 文本+数字 的 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

*/--结束

读书人网 >SQL Server

热点推荐