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