DATE_ADD(LAST_DAY(DATE_SUB(NOW(),INTERVAL 2 MONTH)),INTERVAL 1 DAY)-我在MySQL中拥有此功能,并将其用于BigQuery。 BigQuery没有Last_Day函数。 通过计算前一个月的最后一天并加上一天来获得该月的第一天。
答案 0 :(得分:1)
以下是用于BigQuery标准SQL
#standardSQL
SELECT DATE_SUB(DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 MONTH), INTERVAL 1 DAY)
如果您今天(2019-04-25)运行它,输出为
Row f0_
1 2019-02-28
不确定您的目标是什么-我认为下面的选项可以更好地代表您的mysql版本
#standardSQL
SELECT DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 MONTH)
有结果
Row f0_
1 2019-03-01
答案 1 :(得分:1)
您可以使用DATE_FORMAT(date,'%Y-%m-01')
DATE_ADD( DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH) ,'%Y-%m-01'), INTERVAL 1 DAY)