【问题标题】:Convert dash separated string to datatime2 sql server 2014将破折号分隔的字符串转换为 datetime2 sql server 2014
【发布时间】:2017-11-11 11:21:25
【问题描述】:

我将日期和时间作为文件名保存在我的数据库中。每个文件名都是一个破折号分隔的字符串,例如2017-12-29-23-23-59-999.BMP(您可以假设格式为 yyyy-MM-dd-hh-mm-ss-000.BMP)。如何在Microsoft SQL server 2014 中将此字符串转换为 datetime2?

【问题讨论】:

    标签: sql-server string datetime casting


    【解决方案1】:

    这是一种方法,假设 999 是小数秒:

    DECLARE @FileName varchar(100) = '2017-12-29-23-23-59-999.BMP';
    
    SELECT CAST(
          SUBSTRING(@FileName, 1, 10) 
        + 'T' 
        + REPLACE(SUBSTRING(@FileName, 12, 8), '-', ':') 
        + '.' 
        + SUBSTRING(@FileName, 21, 3)
        AS datetime2);
    

    【讨论】:

      猜你喜欢
      • 2021-07-03
      • 2012-05-12
      • 2015-07-07
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多