编辑:问题解决。是我的阅读不正确,而不是 SQL :p
你好!
我只是在我的数据库书中阅读有关 LIKE SQL 语句的内容。它是这样说的:
SELECT whatever FROM whereever WHERE 'Jeff' LIKE 'Jeff';
它继续说语句 'Jeff' LIKE 'Jeff' 将始终返回 false。这本书没有告诉我原因,我也找不到其他任何地方。这是否意味着以下 SQL 也会返回 null?
SELECT W.name FROM whereever W WHERE w.name LIKE 'Jeff';
作为引用,这本书是:
数据库管理系统:Ramakrishnan - Gehrke 来自 McGRAW - Hill。国际版。 ISBN 0-07-123151-X 页 140。
最佳答案
我看了看那个页面(亚马逊“在 this book 中搜索”),你错过的关键是作者在那里提出了关于空格的观点。书上其实说
Thus, 'Jeff'='Jeff ' is true, while 'Jeff' LIKE 'Jeff ' is false.
注意空格!为了说明错误发生的原因,以下是文本:
由于空格位于行尾,因此很难看到。但正如我在下面所说的,如果没有空格,引号就不会换行到下一行。
关于SQL "like"语句 : 'Jeff' LIKE 'Jeff' = false?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6021948/