【问题标题】:How to Remove Emoji from Column value while Select Statement选择语句时如何从列值中删除表情符号
【发布时间】:2018-03-26 05:56:16
【问题描述】:
我在包含表情符号值的表中有一个列。我想执行一个 Select 语句来删除每行中的所有表情符号(如果其中包含它们)。
例如,如果我有具有以下值的行阀:
"I'm a ???????? ???????? Developer ???????? ???????? ."
那么输出应该如下所示:
"I'm a Developer ."
【问题讨论】:
标签:
sql
sql-server
sql-server-2016
【解决方案1】:
试试这个
DECLARE @MyStr nvarchar(255) = N'Im a ?? ?? Developer ?? ?? .'
SELECT @MyStr,LTRIM(RTRIM(REPLACE(REPLACE(CAST(@MyStr AS VARCHAR(MAX)),'?',''),' ',' ')))
【解决方案2】:
试试下面的查询
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,'?','')