Postgresql Postgres SQL-使用或vs的LIKE查询的不同结果||

Postgresql Postgres SQL-使用或vs的LIKE查询的不同结果||,postgresql,Postgresql,我有一个带有整数列的表。它有12条编号为1000到1012的记录。记住,这些是整数 如预期的那样,此查询返回12个结果: select count(*) from proposals where qd_number::text like '%10%' 正如这一点: SELECT COUNT(*) FROM "proposals" WHERE (lower(first_name) LIKE '%10%' OR qd_number::text LIKE '%10%' ) 但此查询返回2条记录:

我有一个带有整数列的表。它有12条编号为1000到1012的记录。记住,这些是整数

如预期的那样,此查询返回12个结果:

select count(*) from proposals where qd_number::text like '%10%'
正如这一点:

SELECT COUNT(*) FROM "proposals" WHERE (lower(first_name) LIKE '%10%' OR qd_number::text LIKE '%10%' )
但此查询返回2条记录:

SELECT COUNT(*) FROM "proposals" WHERE (lower(first_name) || ' ' ||  qd_number::text LIKE '%10%' )
这意味着在连接的表达式中使用| |,而表达式并不等同于使用或。这是对的还是我遗漏了什么

在连接的where表达式中使用
|
与使用

是正确的还是我遗漏了其他内容

这是正确的

|
是运算符,而不是
运算符

在连接的where表达式中使用
|
与使用

是正确的还是我遗漏了其他内容

这是正确的


|
是,而不是
运算符。

您可能在
名字中有空值。对于这些记录
(较低的(名字)| |“| | | qd_number::text
结果为空,因此您再也找不到数字了。

您可能在
第一个(名字)
中有空值。对于这些记录
(较低的(名字)| | | | | | qd_number::text
结果为空,因此您再也找不到这些数字了。

您在哪里找到了关于
| |
等同于
的说法?在我的问题中,我在哪里提到手册声称“暗示使用| |不等同于使用或…”听起来很像你期望
|
成为一个
是postgres sql查询的新手,是的,我确实希望如此。然而,我从来没有说过手册声称这一点,但现在我直接从马嘴里得到了它,我想这比手册要好。:)我想你在发布这篇文章之前检查了手册。你在哪里找到了声称
|
等同于
?在我的问题中,我在哪里提到手册声称“暗示使用| |不等同于使用或…”听起来很像你期望
|
成为一个
是postgres sql查询的新手,是的,我确实希望如此。然而,我从来没有说过手册声称它,但现在我直接从马口里得到了它,我想这比手册要好。:)我假设你在发布这篇文章之前检查了手册。宾果,这就是原因(我认为| |相当于或,但现在我知道它实际上是字符串concat!)宾果,这就是原因(我认为| |相当于或,但现在我知道它实际上是字符串concat!)