SQL查询Where Column=';';返回Emoji字符🎃;和🍰; [英] SQL Query Where Column = '' returning Emoji characters 🎃 and 🍰
本文介绍了SQL查询Where Column=';';返回Emoji字符🎃;和🍰;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
好的,我有一个包含三列的表:
Id, Key, Value
我要删除Value
为空(''
)的所有行。因此,我在删除之前编写了SELECT查询,即:
Select * from [Imaging.ImageTag] where [Value] = ''
到目前为止都是相当标准的...
现在是奇怪的部分。此查询返回下面显示的两行,各列之间用逗号分隔:
CE7C367C-5C4A-4531-9C8C-8F2A26B1B980, ObjectType, 🎃
F5B2F8A8-C4A8-4799-8824-E5FFEEDAB887, Caption, 🍰
为什么这两行在''
匹配?
额外信息
我使用的是SQL-Server,[Value]
列的类型是NVARCHAR(300)
,是的,表名确实是[Imaging.ImageTag]
推荐答案
这取决于排序规则。
匹配空字符串
SELECT 1 where N'' = N'🍰' COLLATE latin1_general_ci_as
与空字符串不匹配
SELECT 1 WHERE N'' = N'🍰' COLLATE latin1_general_100_ci_as
100
排序规则更新(虽然还不是最新的,但它们从2008年就可以使用了),您应该使用更新的排序规则,除非您有某些特定的原因不这样做。The BOL entry for 100 collations特别调出
已将权重添加到以前未加权的字符中 会平分秋色。
这篇关于SQL查询Where Column=';';返回Emoji字符🎃;和🍰;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文