2016-11-07 2 views
1

アクセント記号のない検索ではstackoverflowで既に問題と解決策がありますが、コードページ1250(中欧および東ヨーロッパ言語)では機能しません。1250コードページのSQL Serverでアクセントを区別しない比較を実行するには

How do I perform an accent insensitive compare (e with è, é, ê and ë) in SQL Server?

LINQ Where Ignore Accentuation and Case

Ignoring accents in SQL Server using LINQ to SQL

サーチ変更SQL Serverでそれアクセントを区別しない

Questions about accent insensitivity in SQL Server (Latin1_General_CI_AS)

を作るために問題がアクセントを区別しない照合がいくつかの特定にbidnedされていることですコードページとMSDN documentationの1250コードページのアクセントの区別がない照合がありません。

カラムの照合順序をmake Entity Framework working in accent insensitive wayに変更する必要があります。

たとえば、照合順序をSQL_LATIN1_GENERAL_CP1_CI_AIに変更すると、間違ったコードページがあるため、accuteを指定したcはaccute(U + 0107)なしのcとして選択されます。

これを解決するにはどうすればよいですか?

答えて

2
SELECT * 
FROM sys.fn_helpcollations() 
WHERE COLLATIONPROPERTY(name, 'CodePage') = 1250 
     AND description LIKE '%accent-insensitive%'; 

結果264の結果が返されます。所望のように最初の

SELECT N'è' COLLATE Albanian_CI_AI 
UNION 
SELECT N'é' 
UNION 
SELECT N'ê' 
UNION 
SELECT N'ë' 

ピッキング

0

OKを(すべてが等しい比較示す)単一の行を返し、私は、SQL Server 2014を使用してリンクMSDNドキュメントは、SQL Server 2008のようですが、私は2014年

のための任意の照合のドキュメントを見つけることができませんでしたが、解決策は、私のコード・ページ用のサーバからの照合順序を一覧表示することです:

SELECT name, COLLATIONPROPERTY(name, 'CodePage') AS CodePage 
FROM fn_helpcollations() 
where COLLATIONPROPERTY(name, 'CodePage') = 1250 
ORDER BY name; 

私は文書化されていない照合があることがわかります。Czech_100_CI_AI 私のために働く。ひれか!

関連する問題