SQL查询Where Column=''返回Emoji字符🎃和🍰 [英] SQL Query Where Column = '' returning Emoji characters 🎃 and 🍰

查看:49
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆