在Oracle中,可以使用INSTR函數(shù)來模擬find_in_set功能。INSTR函數(shù)用于查找一個字符串在另一個字符串中的位置,如果找到則返回位置,否則返回0。通過在INSTR函數(shù)中使用逗號分隔的字符串和目標(biāo)字符串,可以模擬find_in_set功能。
例如,假設(shè)有一個表格包含一個列名為values,其中存儲了逗號分隔的字符串,現(xiàn)在需要查找包含特定值的行??梢允褂靡韵虏樵儊韺崿F(xiàn):
SELECT *
FROM table_name
WHERE INSTR(',' || values || ',', ',value_to_find,') > 0;
在這個查詢中,先在values列的字符串兩端添加逗號,然后在整個字符串中查找逗號加上要查找的值再加上逗號的位置。如果返回的位置大于0,則表示找到了目標(biāo)值。