如何从BiqQuery(LegacySQL)中的日期时间中删除时间

时间:2017-07-26 14:28:04

标签: sql google-bigquery

DATE_ADD((current_date()), - 1,“DAY”)作为ReportRange2

上面返回结果如下,其中,我想删除时间部分和SQL以单独使用日期。

Date with Time

我想要类似的东西,

Just date

3 个答案:

答案 0 :(得分:2)

for BigQuery Legacy SQL

   
#legacySQL
SELECT 
  CURRENT_DATE() AS today, 
  DATE(DATE_ADD(CURRENT_DATE(), -1, "DAY")) AS yesterday

结果如下

today       yesterday    
----------  ----------
2017-07-27  2017-07-26   

同时我们建议migrate your legacy sql to standard sql 如果您愿意 - 下面是BigQuery Standard SQL(当然结果相同)

#standardSQL
SELECT 
  CURRENT_DATE() AS today, 
  DATE(TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -1 DAY)) AS yesterday

答案 1 :(得分:1)

我会使用日期函数

DATE(DATE_ADD((current_date()), -1, "DAY")) as ReportRange2

根据我的经验,这应该适用于旧版SQL。

此外,如果您还没有找到,我会经常使用Legacy SQL Query Reference这样的快速内容。

答案 2 :(得分:0)

您可cast将此datetime值设为date值,以消除时间:

SELECT CAST( DATE_ADD((current_date()), -1, "DAY") AS date ) as ReportRange2