sun*_*ine 2 select firebird date
我想使用 SQL 语句获取日期。例如,如果日期是“2018-08-07”输出,则应返回:“2018-08-14”(一周后)。然后我将获取这些日期之间的总行数。
SELECT count(*) FROM orders WHERE dates BETWEEN '2018-08-07' AND
DATEADD(day,7,'2018-08-07');
Run Code Online (Sandbox Code Playgroud)
但是,由于 dateadd() 函数,我收到此错误:
SQL Error [335544634] [42000]: Dynamic SQL Error; SQL error code = -104; Token unknown - line 1, column 1; DATEADD [SQLState:42000, ISC error code:335544634]
Run Code Online (Sandbox Code Playgroud)
您需要使用 DATEADD(day,7,date '2018-08-07')
,注意使用的关键字日期。
考虑以下数据
create table orders(
dates date
);
INSERT INTO orders (dates)
SELECT '2018-08-05 ' FROM RDB$DATABASE UNION ALL
SELECT '2018-08-06' FROM RDB$DATABASE UNION ALL
SELECT '2018-08-07' FROM RDB$DATABASE UNION ALL
SELECT '2018-08-08' FROM RDB$DATABASE UNION ALL
SELECT '2018-08-09' FROM RDB$DATABASE;
SELECT count(*)
FROM orders
WHERE dates BETWEEN '2018-08-07' AND DATEADD(day,7,date '2018-08-07');
Run Code Online (Sandbox Code Playgroud)
结果
Run Code Online (Sandbox Code Playgroud)COUNT 3
归档时间: |
|
查看次数: |
651 次 |
最近记录: |