我想知道是否有办法做到像这样的查询(其中Z
是一个变量)SQL查询,只有一个参数
SELECT * FROM table t WHERE t.X = Z OR t.Y = Z
只写一次的Z
。当我尝试真正执行它,但我喜欢的方式做更具体的我想这样做相同的查询,像这样
SELECT * FROM table t WHERE (t.X OR t.Y) = Z
我使用的是Oracle数据库,它(显然)给我一个错误就像在第二个查询中一样。
为了让你知道我的情况X
和Y
都是VARCHAR2和我已经尝试像
SELECT * FROM table t WHERE (t.X || t.Y) like '%Z%'
但是,不幸的,它并不像第一个那样准确。
请检查https://docs.oracle.com/cd/E17952_01/refman-5.0-en/select.html和https://docs.oracle.com/cd /E17952_01/refman-5.0-en/expressions.html语法描述。你的第一个SQL语句很好,为什么你不想使用它? –
由于我维护的是Java应用程序,在这种特定情况下,我更愿意只更改查询,而不是添加更多代码行 –