1
我正在使用BigQuery 标准SQL。BigQuery标准SQL:从时间戳中提取星期几名称
我需要将时间戳转换为星期几名称。
例如转换今天的时间戳(2016年11月24日00:00:00)到一个字符串:“周四”
谢谢:)
我正在使用BigQuery 标准SQL。BigQuery标准SQL:从时间戳中提取星期几名称
我需要将时间戳转换为星期几名称。
例如转换今天的时间戳(2016年11月24日00:00:00)到一个字符串:“周四”
谢谢:)
你必须使用DAYOFWEEK(),然后CASE语句返回星期几。 DAYOFWEEK()将星期几作为1(星期日)至7(星期六)之间的整数。 Date and time functions
例如
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 'Thursday'
WHEN DAYOFWEEK(CURRENT_DATE()) = 6 THEN 'Friday'
WHEN DAYOFWEEK(CURRENT_DATE()) = 7 THEN 'Saturday'
END Weekday
下面是BigQuery的标准SQL
#standardSQL
SELECT
CURRENT_DATE() AS day,
FORMAT_DATE('%a', CURRENT_DATE()) AS weekday_name_abbreviated,
FORMAT_DATE('%A', CURRENT_DATE()) AS weekday_name_full
或
#standardSQL
SELECT
DATE('2016-11-24 00:00:00') AS day,
FORMAT_DATE('%a', DATE('2016-11-24 00:00:00')) AS weekday_name_abbreviated,
FORMAT_DATE('%A', DATE('2016-11-24 00:00:00')) AS weekday_name_full
结果是
day weekday_name_abbreviated weekday_name_full
2016-11-24 Thu Thursday
是的,我已经想通了这方法。它的作品,但看起来很丑陋:P 无论如何,谢谢! – shayms8
这适用于大查询中的传统sql。 –
@ mav3n - 这**不适用于BigQuery标准SQL。你应该纠正你的编辑到这个答案 –