我需要按列值中包含的符号选择行.例如,选择 ā by a,ē by e 等

  • 本文关键字:选择 by 例如 符号 包含 oracle10g
  • 更新时间 :
  • 英文 :


我知道在 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 写时,我需要在正则表达式中写各种符号 ā、ķ、ū、ņ 的组合......这对我来说是一个糟糕的选择...

我已经以这种方式解决了我的问题:

         Replace(Convert(decompose(signal_custom_fields.field_value),'US7ASCII'),'?')    like '%Riga%'

我用ā分解所有字符,而不是将分解的符号转换为?,并从单词中删除它,并且比我将输入的单词与数据库中的所有数据进行比较。 有没有其他方法可以做到这一点?

最新更新