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