我有以下代碼:
with my_table (id, col_1, col_2)
as (values
(1, '$ (USD)', '$ (USD) million'),
(2, '$ (USD)', '$ (USD)'),
(3, 'USD', '$ (USD)'),
(4, 'EUR', '$ (USD)')
)
select *,
case when col_1 = col_2 then 'TRUE'
else 'FALSE'
end as is_a_match
from my_table
輸出:
id col_1 col_2 is_a_match
1 $ (USD) $ (USD) million FALSE
2 $ (USD) $ (USD) TRUE
3 USD $ (USD) FALSE
4 EUR $ (USD) FALSE
如何編輯查詢,以便將 id 1、2、3 設為 TRUE,將 id 4 設為 FALSE?我希望它是通用的,所以如果有其他貨幣,它也可以尋找部分匹配。
uj5u.com熱心網友回復:
您可以使用strpos()檢查 col_1 中的字串是否出現在 col_2 中的任何位置:
select *,
strpos(col_2, col_1) > 0 as is_a_match
from my_table
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/465861.html
標籤:sql PostgreSQL 匹配 案子
