ANSI SQL 减去一天
ANSI SQL for subtracting a day
同时支持 MySQL 和 SQL 服务器 我需要从日期中减去天数。这可以用 ANSI SQL 完成还是我需要维护两个版本?
例如。我有这个 MySQL:
SELECT
CURRENT_DATE - INTERVAL '30' DAY
FROM dual;
没有针对 ANSI SQL 2003 规范的公开可用版本,但从一开始就没有供应商完全支持它。无论如何,这两者之间的语法差异足以为每个编写不同的代码。
MySQL 有一个 DATE_ADD
函数:
SELECT DATE_ADD(CURRENT_DATE, INTERVAL 30 DAY)
FROM dual;
SQL服务器有一个DATEADD
函数(没有下划线):
SELECT DATEADD(DAY, 30, CAST(GETDATE() AS date))
GETDATE()
return 日期和时间。演员去掉了时间部分。
同时支持 MySQL 和 SQL 服务器 我需要从日期中减去天数。这可以用 ANSI SQL 完成还是我需要维护两个版本?
例如。我有这个 MySQL:
SELECT
CURRENT_DATE - INTERVAL '30' DAY
FROM dual;
没有针对 ANSI SQL 2003 规范的公开可用版本,但从一开始就没有供应商完全支持它。无论如何,这两者之间的语法差异足以为每个编写不同的代码。
MySQL 有一个 DATE_ADD
函数:
SELECT DATE_ADD(CURRENT_DATE, INTERVAL 30 DAY)
FROM dual;
SQL服务器有一个DATEADD
函数(没有下划线):
SELECT DATEADD(DAY, 30, CAST(GETDATE() AS date))
GETDATE()
return 日期和时间。演员去掉了时间部分。