我需要通过包含在列值中的符号选择行例如通过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%\'
我用ā分解所有字符,然后将分解的符号转换为?,然后从单词中删除它,然后我将输入的单词与数据库中的所有数据进行比较。还有另一种方法吗?     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...