Sql server 2008 删除SQL中的特殊字符
例如:我有字符串“a&b”或“a&b”。如何删除特殊字符并将这些字符串连接到“ab”中 请任何人告诉我Sql server 2008 删除SQL中的特殊字符,sql-server-2008,Sql Server 2008,例如:我有字符串“a&b”或“a&b”。如何删除特殊字符并将这些字符串连接到“ab”中 请任何人告诉我 I have to remove the special characters from the selected string. 到目前为止,是最好的选择,如果必须以内联方式执行,则可以在递归CTE中替换,并将其用作基表 SELECT @id= (UPPER(SUBSTRING(@a,1,2)))+(UPPER(SUBSTRING((SELECT table.column2 F
I have to remove the special characters from the selected string.
到目前为止,是最好的选择,如果必须以内联方式执行,则可以在递归CTE中替换,并将其用作基表
SELECT @id= (UPPER(SUBSTRING(@a,1,2)))+(UPPER(SUBSTRING((SELECT table.column2 FROM tablename WHERE tablename.column1 = @b),1,2))) + RIGHT('000000000' + CAST(@count as varchar(10)), 6)
结果:
select 1 as id,
'qw2££!"£$%^&**(' as F into #TESTTABLE
insert #TESTTABLE
values (2, 'xxx'),
(3, ''),
(4,'$'),
(5,'qq""ee$$')
;with cte(id, stripped) as (
select id, cast(F as varchar(1024)) from #TESTTABLE
union all
select id, cast(stuff(stripped, patindex('%[^a-z]%', stripped), 1, '') as varchar(1024))
from cte
where patindex('%[^a-z]%', stripped) > 0
)
select * from cte
where patindex('%[^a-z]%', stripped) = 0
order by id
有关更多详细信息只需
&
和空格或任何非字母字符?链接中UDF的可能副本可以很好地实现这一点。感谢并抱歉不再使用功能您不能使用功能?
>>id stripped
>>1 qw
>>2 xxx
>>3
>>4
>>5 qqee
Declare @temp varchar(30)
Set @temp = 'A & B'
While PatIndex('%[^a-z]%', @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex('%[^a-z]%', @Temp), 1, '')
SELECT @id= (UPPER(SUBSTRING(@Temp,1,2)))+(UPPER(SUBSTRING((SELECT table.column2 FROM tablename WHERE tablename.column1 = @b),1,2))) + RIGHT('000000000' + CAST(@count as varchar(10)), 6)
DECLARE @str VARCHAR(400)
DECLARE @expres VARCHAR(50) = '%[~,@,#,$,%,&,*,(,),.,!]%'
SET @str = 'a&b'
WHILE PATINDEX( @expres, @str ) > 0
SET @str = Replace(REPLACE( @str, SUBSTRING( @str, PATINDEX( @expres, @str ), 1 ),''),'-',' ')
SELECT @str