代码之家  ›  专栏  ›  技术社区  ›  Kashif

将字符串时间(如“18:15”)转换为日期时间(如23/09/2010 18:15:00)

  •  0
  • Kashif  · 技术社区  · 14 年前

    如何转换 VARCHA '18:15' DateTime 23/09/2010 18:15:00 .

    原因是我有一个db时间的列 VARCHAR(5) 类型。我有用户输入的字符串时间。我想这样比较一下

    WHERE MyTable.Time < @userProvidedTime
    
    2 回复  |  直到 14 年前
        1
  •  0
  •   codingbadger    14 年前

    我不确定我是否完全理解你想要什么,但这应该可以做到:

    Declare @time varchar(10)
    
    set @time = '18:15'
    
    Select Cast(floor(cast(getdate() as float))as datetime) + @time
    
        2
  •  0
  •   onedaywhen    14 年前

    使用时间函数:

    DECLARE @userProvidedTime AS CHAR(5);
    SET @userProvidedTime = '18:15';
    
    SELECT DATEADD(DAY, 
              DATEDIFF(DAY, '1990-01-01 00:00:00.000', CURRENT_TIMESTAMP), 
              '1990-01-01 00:00:00.000'), 
    + CAST(@userProvidedTime AS DATETIME);