我有一个字段“登录”,当前显示日期时间为“ 2019-04-26 10:20:23.050”
我只想显示'2019-04-26 10:20'
我之前已经解决了这个问题,但是找不到摘要。我现在可以找到的最接近的是
convert(datetime, CONVERT(nchar(16),login,120),120)
但这仅提供了'2019-04-26 10:20:00.000',而我希望去除最后5个零。 有什么想法吗?
答案 0 :(得分:4)
要删除毫秒,您可以使用smalldatetime:cast(login as smalldatetime)
要同时删除秒,请使用datetime2(0):cast(login as datetime2(0))
答案 1 :(得分:0)
要获得非常特定的格式,有时必须转换并使用字符串。通常,您需要返回本机格式,并让客户端应用显示格式。使用简单的字符串操作:
DECLARE @Login DATETIME ='01/01/2019 10:20:00.500'
SELECT CAST(CAST(@Login AS DATE) AS NVARCHAR(50))+' '+
CAST(DATEPART(HOUR,@Login) AS NVARCHAR(50))+':'+
CAST(DATEPART(MINUTE,@Login) AS NVARCHAR(50))