已知字段:
RegNum varchar 50
本字段现在有N条记录如下:024902
001220
000220
000032
000002想在要写一个函数或存储过程得到如下结果:
24902
1220
220
32
2
也就是去掉字段中数字前面的所有带0的字符,并转换为数字类型,谢谢!
RegNum varchar 50
本字段现在有N条记录如下:024902
001220
000220
000032
000002想在要写一个函数或存储过程得到如下结果:
24902
1220
220
32
2
也就是去掉字段中数字前面的所有带0的字符,并转换为数字类型,谢谢!
insert @t values('024902')
insert @t values('001220')
insert @t values('000220')
insert @t values('000032')
insert @t values('000002')select stuff(col,1,patindex('%[1-9]%',col)-1,'') from @t/*
24902
1220
220
32
2(所影响的行数为 5 行)
*/
select cast('00002' as int)2
insert @t values('024902')
insert @t values('001220')
insert @t values('000220')
insert @t values('000032')
insert @t values('000002')declare @tt table(col int)
insert @tt select col from @tselect * from @tt/*
col
-----------
24902
1220
220
32
2(所影响的行数为 5 行)*/
declare @t table(col varchar(20))
insert @t values('024902')
insert @t values('001220')
insert @t values('000220')
insert @t values('000032')
insert @t values('000002')select cast(col as int) from @t-----------
24902
1220
220
32
2(所影响的行数为 5 行)
select convert(int,RegNum) as RegNum from table1;
asdf
0001
结果我select cast(regnum as int) from rollreg 这样的时候就报错了
将 varchar 值 'dfdf' 转换为数据类型为 int 的列时发生语法错误。有方法可以消除这个错误了吗
select cast(cast('2.71' as decimal) as int)