gpt4 book ai didi

sql - T-SQL 修剪  (和其他非字母数字字符)

转载 作者:行者123 更新时间:2023-12-04 13:06:33 26 4
gpt4 key购买 nike

我们有一些输入数据有时会以   字符结尾。

数据作为 varchar() 来自源系统,我们尝试将这些字符转换为十进制失败 b/c。

Ltrim 和 Rtrim 不会删除字符,因此我们被迫执行以下操作:

UPDATE myTable
SET myColumn = replace(myColumn,char(160),'')
WHERE charindex(char(160),myColumn) > 0

这适用于  ,但是对于任何非字母数字(或在本例中为数字)字符,是否有一种好方法可以做到这一点?

最佳答案

这将删除所有非字母数字字符

CREATE FUNCTION [dbo].[fnRemoveBadCharacter]
(
@BadString nvarchar(20)
)
RETURNS nvarchar(20)
AS
BEGIN

DECLARE @nPos INTEGER
SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)

WHILE @nPos > 0
BEGIN
SELECT @BadString = STUFF(@BadString, @nPos, 1, '')
SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)
END

RETURN @BadString
END

使用如下函数:
UPDATE TableToUpdate
SET ColumnToUpdate = dbo.fnRemoveBadCharacter(ColumnToUpdate)
WHERE whatever

关于sql - T-SQL 修剪 &nbsp(和其他非字母数字字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52315/

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