我有一个包含整数列的表。它有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%' )
暗示使用||在连接中,表达式不等于使用OR。这是正确的还是我错过了其他的东西?
答案 0 :(得分:4)
first_name
中可能有空值。对于这些记录(lower(first_name) || ' ' || qd_number::text
,结果为空,因此您再也找不到这些数字了。
答案 1 :(得分:2)