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