TimeOpened
是我的数据库表中datetime2
类型的列。
我的转换声明是:
convert(nvarchar, TimeOpened, 114)
我的输出应该是没有日期的时间(基于24小时),即
5/16/2016 1:38:00 PM --> 13:38:00
但实际上我得到的输出是01:38:00
为什么会这样?
此外,我想知道如何删除秒。基本上我希望我的输出为13:38
。
感谢。
答案 0 :(得分:1)
试试这个(SQL Server 2012或更高版本):
SELECT FORMAT(TimeOpened,'dd/MM/yyyy HH:mm:ss')
答案 1 :(得分:1)
对于sql server 2008,您可以转换为time
,然后转换为char(5)
:
SELECT CONVERT(char(5), CAST(TimeOpened As Time))
答案 2 :(得分:0)
SELECT FORMAT(cast(TimeOpened as time),N'hh\.mm') as mytime
您可以在https://msdn.microsoft.com/en-us/library/hh213505.aspx#ExampleD
上看到更多示例答案 3 :(得分:0)
试试这个
SELECT LEFT(CONVERT(VARCHAR,TimeOpened,108),5)
答案 4 :(得分:0)
解决了它。 问题是,当我插入日期时,我使用了c#datetime.now而不是getdate()