搜索以字母'd','e'和'f'我的代码开头的电影
SELECT *
FROM movies
WHERE name BETWEEN 'D%' AND 'G%';
为什么" g"上升而不是'f',尤其是当以下代码中的上升是1979年而不是1980年以寻找70年代的电影时?为什么第一个示例需要被一个示例抵消,而下面的示例则不呢?
SELECT *
FROM movies
WHERE year BETWEEN 1970 and 1979;
之间的函数之间的文本和数字值相同,如下所示。它在范围的顶部和底部都包含在内。我会检查几件事:
- 您确定您的电影以G开头吗?否则,肯定只会返回d。
- 当您使用f字母时,您的代码看起来像这样:
SELECT * FROM movies WHERE name BETWEEN 'D%' AND 'F%';
如果没有,请尝试使用~
字符,例如SELECT * FROM movies WHERE name BETWEEN 'D' AND 'G~'
。另外,此链接还有其他一些细节可能对您有所帮助。
表达式
name between 'D' and 'G'
等于
name>='D' and name<='G'
在此示例中,Dark Knight
可以工作,但是Goat
不会因为Goat > G
表达式
name between '1970' and '1979'
等于
name>='1970' and name<='1979'
1979 <= 1979
工作!