与列名称上的%相似

时间:2012-11-07 17:11:24

标签: postgresql sql-like

这是我的查询导致语法错误:

SELECT * 
FROM account_invoice,sale_order
WHERE sale_order.name LIKE %account_invoice.origin%

account_invoice.origin字段包含sale_order.name的文本以及其他文本,因此我需要在account_invoice.origin字符串中的任何位置匹配sale_order.name字符串。

我正在使用PostgreSQL 8.4。

1 个答案:

答案 0 :(得分:56)

试试这个

SELECT * 
FROM account_invoice,sale_order
WHERE sale_order.name LIKE '%'  || account_invoice.origin || '%'

%需要单引号,因为模式是一个字符串。

||concatenation的运营商。