如何在Google BigQuery中获取Day名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Google BigQuery中获取Day名称相关的知识,希望对你有一定的参考价值。

如何在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]

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

答案

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

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

另一答案

是的,在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
另一答案

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

以上是关于如何在Google BigQuery中获取Day名称的主要内容,如果未能解决你的问题,请参考以下文章

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

如何使用 Google Analytics 数据在 Bigquery 中获取可用的日期时间字段

如何在 Google BigQuery 中获取数据集名称,包括“publicdata”

如何在 Google BigQuery 中使用 UNNEST 函数获取 COUNT?

如何在 Google BigQuery 中进行表操作?

google-bigquery 如何使用 https 获取数据集列表?