与列名称上的%相似

use*_*801 30 postgresql sql-like

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

SELECT * 
FROM account_invoice,sale_order
WHERE sale_order.name LIKE %account_invoice.origin%
Run Code Online (Sandbox Code Playgroud)

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

我正在使用PostgreSQL 8.4.

Mar*_*arc 65

试试这个

SELECT * 
FROM account_invoice,sale_order
WHERE sale_order.name LIKE '%'  || account_invoice.origin || '%'
Run Code Online (Sandbox Code Playgroud)

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

||连接的运算符.