1. ホーム
  2. sql-server-2005

SQL Serverでアクセントを無視した比較(eとè、é、ê、ë)を実行するには?

2023-08-29 08:33:44

質問

SQLで2つのVARCARを比較したいのですが、1つは以下のようなものです。 Cafe で、もうひとつは Café の2つの値を比較できるような SQL の方法はありますか?例えば

SELECT *
FROM Venue
WHERE Name Like '%cafe%'

という名前の会場があった場合 Big Bobs Café Extraordinaire という名前の会場があれば、それは結果セットに含まれるのですね?

どのように解決するのですか?

アクセント記号を無視するように強制する 照合

テーブル変数やテンポラリテーブルのvarcharカラムと比較する場合、エラーやさらなる強制を避けるために、両側が同じ照合順序であることを確認する必要があります。

また、定数値はデータベースの照合順序を持つため 更新: ローカル変数のみで、定数には適用されません。 いいえ、そうではありません。

SELECT *
FROM Venue
WHERE
   Name COLLATE Latin1_general_CI_AI Like '%cafe%' COLLATE Latin1_general_CI_AI