2009-06-30 37 views
2

例如,我有一个包含字符串的列(英文 - “A”,“B”)“AB1234”,我想将它与字符串“AB1234”(俄语“A”,“B” ), 例如。 是否有任何内置函数来实现这一点?通过书面表示比较字符串 - 可以吗?

我发现的最好的方法是使用翻译功能,我列举了所有需要的符号。

+0

+1,很好的提醒,这个世界是不是所有的英语;-) – DCookie 2009-06-30 17:21:26

回答

2

您正在寻找功能LOOKS LIKE

不幸的是SQL中没有这样的功能。

相反,你可以创建每个字符串强制转换为使用TRANSLATE一个共同点基于函数的索引和搜索字符串:

CREATE INDEX ix_mytable_transliterate ON (TRANSLATE(UPPER(str), 'АВЕКМНОРСТУХ', 'AВEKMHOPCTYX')) 

SELECT * 
FROM mytable 
WHERE TRANSLATE(UPPER(str), 'АВЕКМНОРСТУХ', 'AВEKMHOPCTYX') = TRANSLATE(UPPER('весна на танке'), 'АВЕКМНОРСТУХ', 'AВEKMHOPCTYX')