Mysql无法查询字段值为Unicode编码的问题

有一个数据库表,字段中存储的是json格式的数据,json你懂得就是数据中中文都被转换成了Unicode字符。字段数据示例:

{"realname":"\u9a6c\u672a\u90fd","identity_card":"42049982688888"}

我现在的查询语句是:

SELECT * FROM `表名` WHERE `type` = 2 AND `card` LIKE '%\\u672a\\u90fd%';

不知道为什么查询不到数据?求大神帮忙解答一下。条件中去掉一个反斜杠也不行

阅读 4.1k
2 个回答

LIKE '%\\\\u672a\\\\u90fd%';
https://stackoverflow.com/que...

To get the LIKE comparison to match a literal backslash character, we need two backslash characters. As we just demonstrated, to get a backslash character in a string literal requires two backslashes. So we need a total of four backslash characters.

首先很感谢夜影给予的帮助,上述方法真实可用。下面是我结合夜影的方法做的一些补充。等于两种方法都可以解决此类问题,具体请参考:https://www.zkii.net/tech/php...

去掉like ,看一下realname字段是 u9a6cu672au90fd 格式的吗.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题