gpt4 book ai didi

sql - postgresql 错误,查询找不到具有完全相同字符串的行

转载 作者:行者123 更新时间:2023-11-29 11:59:12 25 4
gpt4 key购买 nike

我有一个表 invoice_lines,其中包含 line_description 列(文本,utf8)。这些行由 PHP 代码 (utf8) 插入。最近我发现了以下问题:

当我运行时

SELECT * FROM invoice_lines
WHERE line_description ilike '%1 X Hired 1100 (LTR). Derby Road, Burton _________%'

SELECT * FROM invoice_lines
WHERE line_description ilike '%1 X Hired 1100 (LTR). Derby Road, Burton %'

postgres 返回带有 line_description 的 81 行,例如“1 X Hired 1100 (LTR)。Derby Road, Burton On Trent, Staffordshire - 4 天 @ £2.95 per week (05/08/2015 - 08/08/2015). Grade: Mixed Municipal Waste"(dates from 2015 to 2016)

但是当我运行这个时:

SELECT * FROM invoice_lines
WHERE line_description ilike '%1 X Hired 1100 (LTR). Derby Road, Burton On Trent%'

SELECT * FROM invoice_lines
WHERE line_description ilike '%1 X Hired 1100 (LTR). Derby Road, Burton O%'

postgres 返回0 行

当我尝试只获取 1 行具有精确值时,它也返回 0:

SELECT * FROM invoice_lines
WHERE line_description = '1 X Hired 1100 (LTR). Derby Road, Burton On Trent, Staffordshire - 4 days @ £2.95 per week (05/08/2015 - 08/08/2015). Grade: Mixed Municipal Waste'

看起来从“On Trent, Staffordshire”开始的字符不同,但插入这些行的代码用于可通过类似查询找到的数百万条其他记录。

你能告诉我为什么会这样吗?

  • enter image description here

  • enter image description here

如果你有什么想尝试的,请在评论区问我,我会告诉你结果

最佳答案

我的猜测是 ' On Trent' 不是它看起来的样子。很难找出实际问题。最有可能的罪魁祸首是“伯顿”和“特伦特”之间的步伐:

那么,看看这些是否有效:

WHERE line_description ilike '%1 X Hired 1100 (LTR). Derby Road, Burton_O%'
WHERE line_description ilike '%1 X Hired 1100 (LTR). Derby Road, Burton%O%'

否则它可能是“O”。

关于sql - postgresql 错误,查询找不到具有完全相同字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40092945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com