我正在尝试将BQ表中的列转换为时间戳。我有两个字符串列,其中一个用于从公共数据源导入的utc_hour(字符串0-23)和utc_day(字符串yyyymmdd)。我合并了两列,以产生一个字符串列utc_timestamp,并带有类似这样的字符串-“ 20171208 500”。
我需要将该字符串转换为时间戳,并在使用
时进行转换TIMESTAMP(utc_timestamp)
我收到错误消息
Invalid timestamp: '20171208 500'
我尝试使用dataprep,它也无法将该字符串转换为时间戳。
如何将这种格式转换为时间戳?
答案 0 :(得分:3)
尝试使用%Y%m%d%k%M 格式进行解析。
PARSE_TIMESTAMP("%Y%m%d%k%M", utc_timestamp)
答案 1 :(得分:0)
此问题已得到回答,但如果其他人使用他/她自己独特的时间戳格式访问此处(在这种情况下,接受的答案可能不起作用),您需要遵循此 documentation page 上的注释>
例如,在我的例子中,值是这样的“2020-05-11-00:00:00”。所以,我去了上面提到的页面,发现我需要的格式字符串类似于“%Y-%m-%d-%H:%M:%S”。
我将在我的格式字符串中添加我使用的描述:
%d The day of the month as a decimal number (01-31).
%H The hour (24-hour clock) as a decimal number (00-23).
%M The minute as a decimal number (00-59).
%m The month as a decimal number (01-12).
%S The second as a decimal number (00-60).
%Y The year with century as a decimal number.
:
和 -
是不言自明的。