如何在sql列中找到代理字符?

时间:2019-07-11 09:18:43

标签: sql sql-server

我想在“ SQL列”中找到代理字符。 替代(☹,à,�,é,®,ç)

我想通过sql查询找到所有此类字符并将该字符替换为空白。

请对此提供帮助。

Error

1 个答案:

答案 0 :(得分:3)

使用此功能,我删除了ASCII或代理字符

CREATE FUNCTION RemoveNonASCII (
    @nstring nvarchar(255)
) RETURNS varchar(255)
AS
BEGIN
    DECLARE @Result varchar(255)
    SET @Result = ''

    DECLARE @nchar nvarchar(1)
    DECLARE @position int

    SET @position = 1
    WHILE @position <= LEN(@nstring)
    BEGIN
        SET @nchar = SUBSTRING(@nstring, @position, 1)
        --Unicode & ASCII are the same from 1 to 255.
        --Only Unicode goes beyond 255
        --0 to 31 are non-printable characters
        IF UNICODE(@nchar) between 32 and 255
            SET @Result = @Result + @nchar
        SET @position = @position + 1
    END

    RETURN @Result
END