GCP BigQuery中转换字符串为日期并计算分钟时间差
BigQuery时间字符串转UTC时间并计算分钟时间差
你的问题出在将时间字符串直接转为DATE类型,这会丢失时分秒信息,导致时间差计算错误。正确处理方式如下:
解析时间字符串为UTC时间戳:使用
PARSE_TIMESTAMP函数,按照YYYYMMDDHHMMSS的格式解析字符串,保留完整的时间信息:PARSE_TIMESTAMP('%Y%m%d%H%M%S', timestring)该函数会把
20230420110004正确转换为UTC时间戳2023-04-20 11:00:04 UTC。计算分钟时间差:用
TIMESTAMP_DIFF函数对比解析后的时间戳和当前UTC时间(current_timestamp()),注意参数顺序——若要得到当前时间与目标时间的差值,需将current_timestamp()放在第一个参数位置,单位指定为MINUTE:TIMESTAMP_DIFF(current_timestamp(), PARSE_TIMESTAMP('%Y%m%d%H%M%S', timestring), MINUTE)
示例验证:
当timestring为20230420110004、current_timestamp()为2023-04-20 14:05:56.157508 UTC时,计算结果为185分钟左右,符合需求。
内容的提问来源于stack exchange,提问作者bionics parv
相关产品推荐
相关产品推荐

