gpt4 book ai didi

SQL Server : How do you remove punctuation from a field?

转载 作者:行者123 更新时间:2023-12-02 08:55:00 28 4
gpt4 key购买 nike

有人知道从 SQL Server 字段中删除标点符号的好方法吗?

我在想

UPDATE tblMyTable SET FieldName = REPLACE(REPLACE(REPLACE(FieldName,',',''),'.',''),'''' ,'')

但当我打算删除大量不同的字符时,这似乎有点乏味,例如:!@#$%^&*()<>:"

提前致谢

最佳答案

理想情况下,您可以使用应用程序语言(例如上面提到的 C# + LINQ)来执行此操作。

如果您想纯粹在 T-SQL 中完成此操作,一种使事情变得更整洁的方法是首先创建一个表来保存您想要删除的所有标点符号。

CREATE TABLE Punctuation 
(
Symbol VARCHAR(1) NOT NULL
)

INSERT INTO Punctuation (Symbol) VALUES('''')
INSERT INTO Punctuation (Symbol) VALUES('-')
INSERT INTO Punctuation (Symbol) VALUES('.')

接下来,您可以在 SQL 中创建一个函数来删除输入字符串中的所有标点符号。

CREATE FUNCTION dbo.fn_RemovePunctuation
(
@InputString VARCHAR(500)
)
RETURNS VARCHAR(500)
AS
BEGIN
SELECT
@InputString = REPLACE(@InputString, P.Symbol, '')
FROM
Punctuation P

RETURN @InputString
END
GO

然后您可以在 UPDATE 语句中调用该函数

UPDATE tblMyTable SET FieldName = dbo.fn_RemovePunctuation(FieldName)

关于SQL Server : How do you remove punctuation from a field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1818430/

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