从SQL Server中的varchar列转换12小时到24小时

时间:2017-03-22 14:04:28

标签: sql-server database

在我现有的SQL Server数据库中,有一个这样的列:

  • 列名称和类型:meeting_time varchar(22)
  • 存储的值:02:30:PM

现在我想将其转换为24小时格式。即它应该转换为14.30

当我尝试这个时:

SELECT
    CONVERT(VARCHAR(8), meeting_time, 1) 
FROM 
    group_info 
WHERE 
    MGI_Id = 1

它将返回存储在此列中的相同值。当我尝试将其转换为时间或日期时,它会抛出异常。

任何人都可以帮助我!

提前致谢。

1 个答案:

答案 0 :(得分:2)

这应该有效:

select convert(time, stuff(meeting_time, 6,  1, ' '))

不确定它是否适用于所有语言环境/语言,因此您应首先检查它。

这假定您的日期始终采用相同的格式,额外的:是第6个字符。