如何去除PARSE_DATETIME转换DateTime结果中的字母T?
解决DateTime结果中字母T的问题
嘿,这个情况我之前也遇到过!先给你理清楚核心原因:PARSE_DATETIME函数返回的是真正的DateTime数据类型,而结果里的T是ISO 8601标准时间格式的固定分隔符——这是该类型默认的显示形式,不是数据本身带的“额外字符”。
如果想要得到不带T的时间格式,你需要把转换后的DateTime值再格式化为自定义的字符串格式,用FORMAT_DATETIME函数就能实现:
-- 先解析字符串为DateTime,再格式化为不带T的字符串 FORMAT_DATETIME('%Y-%m-%d %H:%M:%S', PARSE_DATETIME('%d.%m.%Y %H:%M:%S', Date)) AS NF_spent_date
用这个语句处理你的示例数据,得到的结果就是:
2020-03-19 08:14:132020-07-09 07:32:39
另外补充一点:如果你的需求只是在展示时去掉T,而不需要改变数据类型,那可以在后续的可视化工具(比如Tableau、Looker等)或者应用程序里调整DateTime的显示格式,不用在SQL里转换。但如果必须在查询结果中直接输出不带T的字符串,上面的方法就完全适用。
内容的提问来源于stack exchange,提问作者KayEss
相关产品推荐
相关产品推荐

