У меня есть такая таблица ключей (MS SQL):
- KeyGuid Qualifier PrimitiveKey
- DA7E4E27-FDE5-4D43-A365-8A789164A816 tit kirkäna
- EED58875-FE41-4A18-A93C-A44AA62CEEEE htit kirkänbh
- A0EB795E-EE23-4990-BAB9-897C93C70CE3 htit kirkänah
- F7F4632B-AC82-4DEB-B966-BBA8EF4D2C9E tit kirkänb
- C0EB795E-EE23-4990-BAB9-897C93C70CE3 nam kirkänas
- E2F4632B-AC82-4DEB-B966-BBA8EF4D2C9E nam kirkänbs
- A222795E-EE23-4990-BAB9-897C93C70CE3 tit kirkacb
- B333632B-AC82-4DEB-B966-BBA8EF4D2C9E, кирка, синица
- 1222795E-EE23-4990-BAB9-897C93C70C81 htit kirkacbh
- E533632B-AC82-4DEB-B966-BBA8EF4D2C82 htit kirkacah
Этот простейший запрос правильно возвращает все соответствующие записи:
select * from KeyWord where PrimitiveKey like 'kirkän%'
- DA7E4E27-FDE5-4D43-A365-8A789164A816 tit kirkäna
- EED58875-FE41-4A18-A93C-A44AA62CEEEE htit kirkänbh
- A0EB795E-EE23-4990-BAB9-897C93C70CE3 htit kirkänah
- F7F4632B-AC82-4DEB-B966-BBA8EF4D2C9E tit kirkänb
- C0EB795E-EE23-4990-BAB9-897C93C70CE3 nam kirkänas
- E2F4632B-AC82-4DEB-B966-BBA8EF4D2C9E nam kirkänbs
Я использую такой запрос, чтобы ограничить результаты для соответствия определителям:
select * from KeyWord where Qualifier IN ('tit', 'htit') and PrimitiveKey Like 'kirkac%'
, который отлично работает:
- A222795E-EE23-4990-BAB9-897C93C70CE3 tit kirkacb
- B333632B-AC82-4DEB-B966-BBA8EF4D2C9E синица Киркака
- 1222795E-EE23-4990-BAB9-897C93C70C81 htit kirkacbh
- E533632B-AC82-4DEB-B966-BBA8EF4D2C82 htit kirkacah
Однако, когда фраза содержит специальный символ, такой как ä, она не возвращает результатов:
select * from KeyWord where Qualifier IN ('tit', 'htit') and PrimitiveKey Like 'kirkän%'
и не имеет таких ограничителей, как это:
select * from KeyWord where (Qualifier = 'tit' OR Qualifier = 'htit') and PrimitiveKey Like 'kirkän%'
Однако это работает так:
select * from KeyWord where (Qualifier like 'tit' OR Qualifier like 'htit') PrimitiveKey Like 'kirkän%'
- DA7E4E27-FDE5-4D43-A365-8A789164A816 tit kirkäna
- EED58875-FE41-4A18-A93C-A44AA62CEEEE htit Kirkänbh
- A0EB795E-EE23-4990-BAB9-897C93C70CE3 htit kirkänah
- F7F4632B-AC82-4DEB-B966-BBA8EF4D2C9E tit kirkänb
Что не так с подходом IN?