我正在尝试选择时间戳字段 recdate 的日期值不超过该月最后一个完整日期的行。例如,由于这是 2016 年 7 月,我想要所有日期值不超过 31-06-2016 的行。这曾经在 T-SQL 中正常工作,我将使用以下内容并将其分配给 @today 并将其放在我的 WHERE 中:
DECLARE @today DATETIME SELECT @today = CONVERT(VARCHAR(25),DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())-0,0)));
我在 BigQuery 中苦苦挣扎,我无法让 DATEDIFF 或 GETDATE 工作,想知道是否有人对此有想法?
最好的祝愿
戴夫
原文由 Dave Papworth 发布,翻译遵循 CC BY-SA 4.0 许可协议
BigQuery 现在支持
LAST_DAY
函数以及算术运算+
和日期的“-”因此,现在您可以使用以下选项来获取上个月的最后一天
有输出(记住今天是 10 月 14 日)
我个人 - 我喜欢第一个选项,因为它最简洁明了!
-- ~~~~~~~~~~~~~~~~~~~
使用以下示例(BigQuery Legacy SQL)
顺便说一句,六月有 30 天 :o) - 除了 Priestley 的“六月三十一日”