当前位置: 代码迷 >> Sql Server >> SQLSERVER里怎么剔除:字符串中除了数字的字符,另外怎么剔除除了大小写字母的字符
  详细解决方案

SQLSERVER里怎么剔除:字符串中除了数字的字符,另外怎么剔除除了大小写字母的字符

热度:23   发布时间:2016-04-27 17:02:24.0
SQLSERVER里如何剔除:字符串中除了数字的字符,另外如何剔除除了大小写字母的字符
SQLSERVER里如何剔除:字符串中除了数字的字符,另外如何剔除除了大小写字母的字符

------解决方案--------------------
declare @str varchar(1000)
set @str = '21838asdf21jj '
while patindex( '%[^0-9]% ',@str)> 0
set @str = stuff(@str,patindex( '%[^0-9]% ',@str),1, ' ')
select @str

--结果
2183821

(所影响的行数为 1 行)
------解决方案--------------------
create table T(col varchar(100))
insert T select '1aa23 '
insert T select 'bb45 '
insert T select '67cc '

while @@rowcount <> 0
update T set col=stuff(col, patindex( '%[^0-9]% ', col), 1, ' ')
where patindex( '%[^0-9]% ', col)> 0

select * from T

--result
col
----------------------------------------------------------------
123
45
67

(3 row(s) affected)
  相关解决方案