如何在左连接语句中使用替换

伊姆里克

我有两个表,其中一个有一个字段,其中包含像“1111AAA”这样的字符串,另一个具有相同的字段,但具有这种结构“1111 AAA”。我想用 '' 替换空格,但我在左连接的 ON 附近有一个错误。

我把代码放在下面:

select idticket, bt.matricula, bv.vehicle
from b_ticket bt
left JOIN b_vehicle bv ON REPLACE(bv.matricula, ' ', '') ilike ON REPLACE(bt.matricula, ' ', '')
where date_start >= '2019/01/01/'
and date_end <= '2020/01/01'

我无法更改两个表中任何一个的值。而且我也尝试了 TRIM 函数,但它不起作用,因为它删除了字符串开头和结尾的空格,而不是单词之间的空格。

任何的想法?

谢谢!

错误信息:ERROR:sintax error near «ON» LINE 3: ... bv ON REPLACE(bv.matricula, ' ', '') ilike ON REPLACE...

杰兰德西

ON您的JOIN子句中很可能有一个无关的关键字

SELECT
    idticket, bt.matricula, bv.vehicle
FROM
    b_ticket AS bt LEFT JOIN b_vehicle AS bv
        ON REPLACE(bv.matricula, ' ', '') ILIKE REPLACE(bt.matricula, ' ', '')
WHERE
    date_start >= '2019/01/01/' AND date_end <= '2020/01/01';

正如错误所述:谓词必须是任何有效的布尔表达式,但其中不能包含ON关键字。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章