所以我得到了一条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