如何根据匹配的特殊字符更新sql列

时间:2017-10-23 21:16:27

标签: tsql special-characters

我正试图摆脱数据库中的一些不良字符。我现在正在处理的行以子弹和空格开始。但是,我的where子句与所讨论的行不匹配。我怎样才能得到一个匹配?这就是我目前正在尝试的。

update Skill
set Name = substring(Name, 3, 50)
where Name like char(150) + ' %'

2 个答案:

答案 0 :(得分:1)

如评论中所述,您可以使用ASCII()来获取您要查找的字符的代码,然后在更新中使用该代码。

UPDATE Skill
set Name = substring(Name, 3, 50)
WHERE LEFT(name,1) = CHAR(149)

答案 1 :(得分:1)

也许您没有捕获正确的ASCII值。这是一种使用类似方法的unicode方法。

declare @table table ([Name] nvarchar(64))
insert into @table
values
('- some data')

select 
    UNICODE(left([Name],1))        --this will tell you what VALUE to use in the where clause
    ,NCHAR(UNICODE(left([Name],1)))
from @table

update @table
set [Name] = substring([Name], 3, 50)
where UNICODE(left([Name],1)) = 45 --use the appropriate UNICODE values here


select * from @table