有人知道从 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)