当前位置: 首页 > 面试题库 >

ANSI SQL减去一天

田硕
2023-03-14
问题内容

同时支持MySQL和SQL Server我需要从日期中减去几天。可以使用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 Server具有一个DATEADD功能(不带下划线):

SELECT DATEADD(DAY, 30, CAST(GETDATE() AS date))

GETDATE()同时返回日期和时间。演员表剥夺了时间部分。



 类似资料:
  • 问题内容: 我正在从SQL数据库中提取日期,该日期将其视为从午夜开始的日期。当我开始使用它们时,它会正确格式化它们,但是不会浪费一天。 格式化之前: 格式化后: 代码: 问题答案: 如果您分段运行代码,则会注意到产生的输出类似(我的计算机现在处于EDT中)。 这是因为(doc): 假定时区的差异 给定日期字符串为“ 2014年3月7日”,parse()假定为本地时区,但是给定ISO格式(如“ 20

  • 问题内容: 我有两个对象: 我怎么能在几分钟内发现它们之间的不同? 问题答案: 使用或,如api所述 0 0

  • 我JasperReport中有这样的代码,就像< code > new simple date format(" DD/MM/yyyy ")。format(new Date())-24 * 3600 * 1000 但是它不起作用,我正在尝试从今天开始减去一天。但它是这样显示今天的

  • 问题内容: 我试图从我的Drupal CMS中取出一个日期对象,减去一天并打印出两个日期。这就是我所拥有的 因此,我不明白为什么原始日期对象会很好,但是随后我试图创建一个额外的日期对象并通过减去一天来对其进行修改,看来我无法做到这一点。输出总是空白。 问题答案: 你可以试试:

  • 问题内容: 我有两个arrayLists,我试图从另一个中“减去”一个arrayList。例如,如果我有一个arrayList [1,2,3],而我试图减去[0,2,4],则结果arrayList应该为[1,3]。 这是我的代码。 我的代码在某些情况下可以正常工作,例如if ,它将给我的结果。但是,如果我尝试像和 我得到这个异常: 这是我想出的代码。我已经通过它进行了测试,对我来说我认为它应该起作

  • 问题内容: 我有一个对象。减去一天的最佳方法是什么? 问题答案: 你可以使用对象: