Cod*_*man 10 sql t-sql sql-server string ascii
我需要从T-SQL中的SELECT语句中过滤掉(删除)扩展的ASCII字符.
我正在使用存储过程来执行此操作.
预期投入:
ËËËËeeeeËËËË
Run Code Online (Sandbox Code Playgroud)
预期产量:
eeee
Run Code Online (Sandbox Code Playgroud)
我发现的所有内容都是针对MySQL的.
我正在使用 :
Microsoft SQL Server Management Studio 11.0.2100.60
Microsoft .NET Framework 4.0.30319.17929
Run Code Online (Sandbox Code Playgroud)
ami*_*han 31
好的,试一试.看来他们有同样的问题.无论如何,您需要根据您的要求进行修改.
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65108 次 |
| 最近记录: |