2017-03-22 92 views
0

在我现有的SQL Server数据库中,有这样一列:转换12小时至24小时,从VARCHAR列在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

最好的解决方案是停止将时间信息存储为varchar。 –

+0

@SeanLange:它实际上是为了迁移的目的。现有的数据库就像那样。 – Tamil

+0

时间过后你真的有冒号吗? –

回答

2

这应该工作:如果

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

不知道它与所有的语言环境/语言的作品,所以你应该检查第一。

这假定您的日期总是在相同的格式,额外的:是在第六个字符。

+2

击败我大约15秒。 :d –

相关问题