【问题标题】:Convert a date and time string in the format YYYY-MM-DD HH:MM:SS in SQL在 SQL 中转换格式为 YYYY-MM-DD HH:MM:SS 的日期和时间字符串
【发布时间】:2017-11-29 17:46:06
【问题描述】:

有什么方法可以在 BigQuery 中使用旧版 SQL 语法或标准 SQL 语法来转换“格式为 YYYY-MM-DD HH:MM:SS 的日期和时间字符串”。

例如。 “2017 年 11 月 9 日”至 2017-11-09 00:00:00

【问题讨论】:

  • 你的意思是像PHP中的strtotime?存储过程怎么样?

标签: sql google-bigquery


【解决方案1】:

以下是 BigQuery 标准 SQL

#standardSQL
SELECT PARSE_DATE('%B %d, %Y', 'November 9, 2017')

结果是

f0_  
2017-11-09   

或者你可以使用

#standardSQL
SELECT PARSE_DATETIME('%B %d, %Y', 'November 9, 2017') 

返回

f0_  
2017-11-09T00:00:00  

【讨论】:

  • 谢谢@mikhail。这种字符串“Fri, 31 Aug 2018 13:00:57 +0000”怎么样。我在下面尝试过,但它不起作用 SELECT PARSE_DATETIME('%a,%d %b %Y %E#S' , 'Fri, 31 Aug 2018 13:00:57 +0000')
  • 当然 - 在需要时询问更多信息:o)
  • 请在我上面的评论中帮助我。
  • 当然,我的意思是 - 随时发布新问题,我很乐意回答。 cmets 的格式不允许提供高质量的答案 - 正如我所说 - 请发布新问题
【解决方案2】:

SQL Server (2005, 2000, 7.0) 没有任何灵活甚至不灵活的方式来获取任意结构化的字符串格式的日期时间并将其转换为日期时间数据类型。

“任意”是指“编写它的人,虽然可能不是你、我或地球另一端的人,但会认为是直观且完全显而易见的形式。”坦率地说,我不确定有没有这样的算法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多