如何在Google BigQuery中获取Day名称

问题描述 投票:7回答:3

如何在Google BigQuery中获取日期的名称。

我可以通过以下查询来实现这一点

SELECT CASE WHEN DAYOFWEEK(CURRENT_DATE())=1 THEN 'Sunday' WHEN DAYOFWEEK(CURRENT_DATE())=2 THEN 'Monday'
             WHEN DAYOFWEEK(CURRENT_DATE())=3 THEN 'Tuesday' WHEN DAYOFWEEK(CURRENT_DATE())=4 THEN 'Wednesday'
             WHEN DAYOFWEEK(CURRENT_DATE())=5 THEN 'Thusday' WHEN DAYOFWEEK(CURRENT_DATE())=6 THEN 'Friday'
             WHEN DAYOFWEEK(CURRENT_DATE())=7 THEN 'Saturday' END as [DOW]

如果有任何默认功能可以获得当天的名字?

google-bigquery
3个回答
0
投票

不,没有。根据query reference(你应该书签:)的文档,最具体的是DateTime ones

您可以使用DAYOFWEEK()获取当天的数字,就像查询中一样。但就是这样。


16
投票

是的,在standardSQL和legacySQL中都有相同的功能。

标准SQL

您可以使用FORMAT_DATE()函数,您可以使用任何您想要的日期格式。 Link to Docs

例:

#standardSQL
SELECT
  CURRENT_DATE() AS date,
  FORMAT_DATE('%A', CURRENT_DATE()) AS dow

旧版SQL

有STRFTIME_UTC_USEC()函数。它需要先将您的时间戳转换为USEC。 Link to docs

例:

#legacySQL
SELECT
  CURRENT_DATE() AS date,
  STRFTIME_UTC_USEC(TIMESTAMP_TO_USEC(TIMESTAMP(CURRENT_DATE())), '%A') AS dow

0
投票

在Google的Big Query中,要使用的功能是:format_datetime('%A',yourdate),而不是2017年发布的format_date。

© www.soinside.com 2019 - 2024. All rights reserved.