小编典典

MS Access查询不使用标准的相等运算符区分平假名和片假名

sql

最近,我在搜索包含日语文本的表时遇到了一个MS
Access查询问题。日语有两个字母,平假名和片假名,具有相同的声音值,但字符不同。例如,銇(hiragana)和銈(片假名)都发音为’a’。对于我的SELECT查询,这两个字符需要被区别对待,但是当我运行以下查询时:

SELECT [KeywordID] FROM [Keyword] WHERE [Keyword].[Keyword]="あ"

它返回表中的两个值Keywordreturns和銇(出于我的目的,行为不正确。)

我想出了一种解决方法,以确保在SELECT查询中将这两个字符区别对待,并在其他人在MS Access中使用日语字符的情况下,将其发布在此处以供将来参考。


阅读 190

收藏
2021-04-07

共1个答案

小编典典

我发现的解决方案是StrCompWHERE子句中使用它来进行二进制比较。这将正确区分平假名和片假名,如下所示:

SELECT [KeywordID], [Keyword] FROM [Keyword] WHERE StrComp([Keyword].[Keyword], "あ", 0)=0

这将返回一条记录,这就是我所需要的。

2021-04-07