git log --pretty=fuller --author='that-user' -5
您好尝试以此生成以下SQL查询:
选择* 从电影 DATE_OF_RELEASE <'2016-08-01';
但是我似乎无法弄清楚为什么我会出错?
也尝试回答这个问题:编写一条SQL语句以计算2016年8月之前发布的数据库中的电影数量。
SELECT COUNT(*)AS“ 2016年8月之前发行的电影数量” 来自电影; 在哪里date_of_release <日期'2016-08-01';
但是出现此错误:
从第18行开始的错误- 在哪里date_of_release <日期'2016-08-01' 错误报告 - 未知命令
答案 0 :(得分:3)
不要以错误的方式进行操作-以正确的方法进行操作。
如果DATE_OF_RELEASE
列的数据类型为DATE
(应该是),则将其与DATE
而不是字符串进行比较。 '01-aug-16'
或'2016-08-01'
是字符串,不是日期。不要依赖Oracle及其功能将其隐式转换为日期,因为一旦NLS设置更改,它迟早会失败。
所以,使用
where date_of_release < date '2016-08-01' -- date literal
或
where date_of_release < to_date('01.08.2016', 'dd.mm.yyyy') -- TO_DATE function
不留任何字符串。
答案 1 :(得分:0)
尝试一下
SELECT * FROM FILM WHERE DATE_OF_RELEASE < '01-AUG-16';