如何从T-SQL中的字符串中删除扩展的ASCII字符?

前端之家收集整理的这篇文章主要介绍了如何从T-SQL中的字符串中删除扩展的ASCII字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从T-sql中的SELECT语句中过滤掉(删除)扩展的ASCII字符.

我正在使用存储过程来做到这一点.

预期输入:

ËËËËeeeeËËËË

预期产量:

eeee

我找到的是MySQL.

我在用着 :

Microsoft sql Server Management Studio  11.0.2100.60
Microsoft .NET Framework    4.0.30319.17929

解决方法

好的,给一个尝试.这似乎是同样的问题.无论如何,您需要根据您的要求进行修改.
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
GO

SqlServerCentral查看

猜你在找的MsSQL相关文章