それで、SQLステートメントを取得しました。アイデアは、大文字と小文字を区別しない LIKE を実行したいということです。私はこのようにします:
SELECT
FilenameId AS id,
LOWER(CONVERT(BINARY(Filename.Name) USING utf8)) AS name
FROM Filename
WHERE name LIKE '%something%'
COLLATE utf8_general_ci
これは正常に機能しますが、クエリは大文字と小文字を変換した名前も返します。私がしたいのは、区別されない名前を合成し、それに対して LIKE クエリを実行するだけでなく、大文字と小文字が変換されていない名前を返すことです。
SELECT
FilenameId AS id,
Filename.Name AS name,
LOWER(CONVERT(BINARY(Filename.Name) USING utf8)) AS iname
FROM Filename
WHERE iname LIKE '%something%'
COLLATE utf8_general_ci
...しかし、MySQL は喜んで拒否します。
Unknown column 'iname' in 'where clause'
私は何を間違っていますか?私はMySQL 5.5 FWIWを使用しています。