Php mysql中的UPPER运算符不转换内容

Php mysql中的UPPER运算符不转换内容,php,mysql,sql,database,Php,Mysql,Sql,Database,我在mysql中的查询中使用了UPPER操作符,它没有将该字段的表内容转换为大写,而是将我的查询与已经包含该字段内容的行匹配 例如,如果我有一个名为category的字段和两行,一行是Indian,另一行是Indian,我发出的查询如下: select * from table where UPPER(category) like '%INDIAN%' 只有大写字母为field INDIAN的争议才能得到回答 如果查询不区分大小写,如何发出查询?UPPER()是函数,而不是运算符LIKE应该已

我在mysql中的查询中使用了
UPPER
操作符,它没有将该字段的表内容转换为大写,而是将我的查询与已经包含该字段内容的行匹配

例如,如果我有一个名为
category
的字段和两行,一行是Indian,另一行是Indian,我发出的查询如下:

select * from table where UPPER(category) like '%INDIAN%'
只有大写字母为field INDIAN的争议才能得到回答


如果查询不区分大小写,如何发出查询?

UPPER()
是函数,而不是运算符
LIKE
应该已经不区分大小写了。来自:来自。。。语句说明字符串比较不区分大小写,除非其中一个操作数是二进制字符串……例如:@Jared很好地解释了您的问题。请注意,
WHERE
子句仅确定输出哪些行。实际输出值在
选择*
中确定。如果您从类别为“%indian%”的表中编写
选择UPPER(category)
,它将以大写形式返回值。您的查询应同时适用于大写和小写。