【问题标题】:Remove Day Name from String T-SQL从字符串 T-SQL 中删除日期名称
【发布时间】:2021-09-11 20:05:31
【问题描述】:

我在 2018 年 9 月 13 日星期四有一个日期的字符串格式。我想删除“星期四”,以便将字符串转换为日期类型并进行日期比较。有谁知道如何使用 T-SQL 删除字符串中的工作日名称?

【问题讨论】:

  • 你可以做SELECT TRY_PARSE('Thursday, September 13, 2018' AS date USING 'en-GB')
  • 谢谢@MartinSmith!

标签: sql sql-server date tsql


【解决方案1】:

如果在日期名称/之前日期之后有总是空格 (' '),您可以使用 CHARINDEX 和 STUFF:

SELECT TRY_CONVERT(date,STUFF(V.YourString,1,CHARINDEX(' ',V.YourString),''))
FROM (VALUES('Thursday, September 13, 2018'))V(YourString);

【讨论】:

    【解决方案2】:
    SELECT 
      CONVERT(
        DATE, 
        Substring(
          'Thursday, September 13, 2018', 
          Patindex(
            '%day%', 'Thursday, September 13, 2018'
          ) + 5, 
          Len('Thursday, September 13, 2018')
        )
      )
    

    【讨论】:

    • 请edit您的问题解释您的代码。这可以长期提高答案价值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2010-11-06
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多