【问题标题】:Same word giving true and false for same query in Postgresql在 Postgresql 中,相同的词对相同的查询给出真假
【发布时间】:2019-09-24 18:08:57
【问题描述】:

我在 2 个不同的表格列中有相同的数据。当我比较它返回False

select (case when 'Gurgaon / Delhi – NCR' = 'Gurgaon / Delhi - NCR' then true else false end)

但是当复制和比较相同的列文本时,它返回True

select (case when 'Gurgaon / Delhi – NCR' = 'Gurgaon / Delhi – NCR' then true else false end)

这些词有何不同,我该如何找到并解决这个问题?

更新 在存储为\96 的表一列中,我更改为-。这是造成问题的原因吗?

【问题讨论】:

  • 是的,- - 是两个不同的字符
  • 第二个如何输入?
  • 不相关,但是:您不需要 CASE 表达式。您可以将其简化为已经返回布尔值的'Gurgaon / Delhi – NCR' = 'Gurgaon / Delhi – NCR'

标签: postgresql postgres-10


【解决方案1】:

如果您想要将字符串中的一个字符替换为另一个字符,您可以使用REPLACE() 函数。

这个函数在文档中有描述:https://www.postgresql.org/docs/current/functions-string.html

例如:SELECT REPLACE('Gurgaon / Delhi – NCR', '–', '-')

如果你仍然想要的话,你可以在两个字符串之间进行匹配。

希望这会有所帮助。

【讨论】:

  • @a_horse_with_no_name :感谢您的编辑。我忘了把代码写好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多