【问题标题】:substring to retrieve a date between two characters检索两个字符之间的日期的子字符串
【发布时间】:2020-02-10 15:08:14
【问题描述】:

有人能解释一下我如何从下面的这个字符串中提取日期字段

'NA,Planning-Completed=17-07-2019 10:38,Print-Dispatch-Date=10-02-2020 13:06,Award-Complete=NA'

预期输出:

10-02-2020

这是我到目前为止所写的,它有时似乎可以工作,但我注意到有些行不正确。

[Dispatch Date] = SUBSTRING(dates,CHARINDEX('Print-Dispatch-Date=',dates) + LEN('Print-Dispatch-Date='), LEN(dates) )

【问题讨论】:

    标签: sql-server substring charindex


    【解决方案1】:

    SUBSTRING 的第三个参数错误。你有它作为LEN(dates),这意味着返回每个字符之后 'Print-Dispatch-Date=';在这种情况下返回'10-02-2020 13:06,Award-Complete=NA'

    由于您的日期长度为 10 个字符,因此请使用 10

    SELECT dates, SUBSTRING(dates,CHARINDEX('Print-Dispatch-Date=',dates) + LEN('Print-Dispatch-Date='), 10)
    FROM (VALUES('NA,Planning-Completed=17-07-2019 10:38,Print-Dispatch-Date=10-02-2020 13:06,Award-Complete=NA'))V(dates)
    

    【讨论】:

      猜你喜欢
      • 2013-01-20
      • 2022-01-11
      • 2015-04-10
      • 2015-01-11
      • 1970-01-01
      • 2014-12-07
      • 2013-12-31
      • 2012-03-10
      相关资源
      最近更新 更多