gpt4 book ai didi

sql-server-2008 - T-SQL 去除所有非字母和非数字字符

转载 作者:行者123 更新时间:2023-12-04 07:01:37 28 4
gpt4 key购买 nike

有没有更聪明的方法来删除所有特殊字符,而不是使用一系列大约 15 个嵌套的替换语句?

以下工作,但只处理三个字符(与号、空格和句点)。

select CustomerID, CustomerName, 
Replace(Replace(Replace(CustomerName,'&',''),' ',''),'.','') as CustomerNameStripped
from Customer

最佳答案

一种灵活的方式;

CREATE FUNCTION [dbo].[fnRemovePatternFromString](@BUFFER VARCHAR(MAX), @PATTERN VARCHAR(128)) RETURNS VARCHAR(MAX) AS
BEGIN
DECLARE @POS INT = PATINDEX(@PATTERN, @BUFFER)
WHILE @POS > 0 BEGIN
SET @BUFFER = STUFF(@BUFFER, @POS, 1, '')
SET @POS = PATINDEX(@PATTERN, @BUFFER)
END
RETURN @BUFFER
END

select dbo.fnRemovePatternFromString('cake & beer $3.99!?c', '%[$&.!?]%')

(No column name)
cake beer 399c

关于sql-server-2008 - T-SQL 去除所有非字母和非数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9636045/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com