如何在Select Statement中从Column值中删除表情符号

时间:2018-03-26 05:56:17

标签: sql sql-server sql-server-2016

我在表中包含一个包含表情符号值的列。我想执行一个Select语句来删除每行中包含它们的所有表情符号。

例如,如果我的行阀有以下值:

"I'm a ‍ ‍ Developer ‍ ‍ ."

然后输出应如下所示:

"I'm a Developer ." 

2 个答案:

答案 0 :(得分:1)

试试这个

DECLARE  @MyStr nvarchar(255)  = N'Im a ‍ ‍ Developer ‍ ‍ .' 

SELECT @MyStr,LTRIM(RTRIM(REPLACE(REPLACE(CAST(@MyStr AS VARCHAR(MAX)),'?',''),'  ',' ')))

答案 1 :(得分:0)

尝试以下查询

declare  @nstring nvarchar(255)  = 'Im a ‍ ‍ Developer ‍ ‍ .' 
   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)  
      IF UNICODE(@nchar) between 32 and 255
         SET @Result = @Result + @nchar
      SET @position = @position + 1
   END
 select replace(@Result,'?','')