我有一个表专业化(ID,名称)其中名称是一个varchar与索引。当我运行查询使用像我得到空结果,而如果我在查询中使用=它会给我确切的结果。为什么喜欢返回空而反过来返回结果?
我的查询如下:
select * from specialization where name like 'Anesthesiology';
这回空集
select * from specialization where name = 'Anesthesiology';
这将返回一个结果集。
这是怎么发生的?
我敢肯定答案在这个页面上:http://dev.mysql.com/doc/refman/5.7/en/case-sensitivity.html。这很复杂,取决于字符串中的排序规则和可能的扩展字符。 – 2014-10-29 11:01:29
你是否直接在mysql中试用它?它应该有效,如果名字恰好是“麻醉学”。我刚刚在我自己的数据库上试过,并且它可以工作。 – vaso123 2014-10-29 11:09:41
是的,它的工作原理。 http://sqlfiddle.com/#!2/75b875/1 – vaso123 2014-10-29 11:11:28