DATE_ADD(LAST_DAY(DATE_SUB(NOW(),INTERVAL 2 MONTH)),INTERVAL 1 DAY)

时间:2019-04-25 16:54:49

标签: mysql google-bigquery

DATE_ADD(LAST_DAY(DATE_SUB(NOW(),INTERVAL 2 MONTH)),INTERVAL 1 DAY)-我在MySQL中拥有此功能,并将其用于BigQuery。 BigQuery没有Last_Day函数。 通过计算前一个月的最后一天并加上一天来获得该月的第一天。

2 个答案:

答案 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)