我需要通过包含在列值中的符号选择行例如通过a选择ā,通过e选择ē

问题描述

| 我知道在Oracle中,您可以按包含在列值中的符号选择行,例如:
     select * from table where id in (select id from table where name like \'%asd%\')
但是我需要从包含a,e,c,z等字符的数据库中选择值,例如ā,ē,č,ž等。在Oracle中有可能吗? 我也知道 :
regexp_like(column,\'asd|asc|ase|eqw\')
但是可能会有像šķūņu这样的词,当用户搜索skunku写时,比我需要在regexp中写各种符号ā,ķ,ū,ņ的组合...这对我来说是一个糟糕的选择...     

解决方法

我已经通过以下方式解决了我的问题:
         Replace(Convert(decompose(signal_custom_fields.field_value),\'US7ASCII\'),\'?\')    like \'%Riga%\'
我用ā分解所有字符,然后将分解的符号转换为?,然后从单词中删除它,然后我将输入的单词与数据库中的所有数据进行比较。还有另一种方法吗?