我在 PostgreSQL 中使用了以下查詢,并調查了 Oracle 19c 是否有類似的查詢:
SELECT * FROM table_name
WHERE table_name::TEXT LIKE '%some_text%';
我可以為 Oracle 找到的最佳替代方法如下,但我想知道是否有更好的方法。
SELECT * FROM table_name
WHERE
COALESCE(to_char(column1), '') ||
COALESCE(to_char(column2), '') ||
COALESCE(to_char(columnN), '')
LIKE '%some_text%';
uj5u.com熱心網友回復:
您的查詢將給出誤報,其中一半文本位于一列中,而另一半文本位于下一列中。您可以OR在每一列上使用和過濾:
SELECT *
FROM table_name
WHERE column1 LIKE '%some_text%'
OR column2 LIKE '%some_text%'
-- ...
OR columnN LIKE '%some_text%';
注意:您也可以跳過過濾非字串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/432933.html
下一篇:如何比較計數的元素?
