所以我得到了一條SQL語句。這個想法是我想做一個不區分大小寫的LIKE。 我不喜歡這樣寫道:MySQL magic列「名稱」和合成列
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上。
謝謝!我必須做這個舞會的原因是我不得不和一個沒有正確編碼配置的數據庫進行交談。我在我的SQL上很生疏。 – Julik 2013-04-06 19:51:55