如何将日期转换为 CDT 并使用 BigQuery 制作连接字符串?
Posted
技术标签:
【中文标题】如何将日期转换为 CDT 并使用 BigQuery 制作连接字符串?【英文标题】:How to cast date to CDT and make concatenated string using BigQuery? 【发布时间】:2021-09-27 19:55:28 【问题描述】:我正在尝试以下方法:
count(distinct concat(x.my_id,cast(date_trunc('day',DATETIME(x.my_datetime,'US/Central')) as string)))
但我得到了错误:
Found invalid date part argument function call syntax for DATETIME()
当我将 DATETIME(x.my_datetime,'US/Central') 放在自己的行上时,它没有错误。那么如何才能将日期时间转换为 cdt 并将其放入串联字符串中呢?
【问题讨论】:
你能分享一个完整的样本数据集和预期的结果吗?您还可以分享一个可重现的查询,以便社区可以轻松调查该问题吗? 【参考方案1】:两件事:
date_trunc()
应该有日期/日期时间/时间戳首先,然后是日期部分。
日期部分应该是文字 day
而不是字符串 'day'
。
考虑到这一点,您的表达方式应该是count(distinct concat(x.my_id,cast(date_trunc(DATETIME(x.my_datetime,'US/Central'), day) as string)))
【讨论】:
请注意,您收到的错误消息是因为date_trunc()
的第二个参数需要文字日期部分(日、周、月等),但返回的是日期时间,导致错误。 以上是关于如何将日期转换为 CDT 并使用 BigQuery 制作连接字符串?的主要内容,如果未能解决你的问题,请参考以下文章