开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

'‪test‬'神奇的字符串,把这个字符串作为where条件检索不出数据,是什么原因?

'‪test‬'神奇的字符串,把这个字符串作为where条件检索不出数据,是什么原因?

展开
收起
解决问题123 2023-05-30 17:12:35 132 0
2 条回答
写回答
取消 提交回答
  • 会不会是collection问题或者客户端和服务端存在字符集转义导致

    此答案来自钉钉群“PG|POLARDB技术进阶"

    2023-05-30 19:18:09
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    这个问题可能与字符串中的特殊字符有关。在这个字符串中,有一个隐藏的字符(可能是一个不可见的空格、制表符或其他特殊字符),该字符可能会干扰查询。

    要解决这个问题,可以尝试使用trim函数或replace函数来删除隐藏字符。例如:

    SELECT * FROM table WHERE replace(test, ' ', '') = 'test'; 这里使用replace函数将所有空格替换为空字符串,然后再进行比较。如果仍然无法找到匹配项,则可能需要进一步排查特殊字符或编码问题。

    2023-05-30 17:25:17
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载