问题描述
|
我知道在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%\'
我用ā分解所有字符,然后将分解的符号转换为?,然后从单词中删除它,然后我将输入的单词与数据库中的所有数据进行比较。还有另一种方法吗?