我只想hh:mm
从日期开始。
我怎么能得到这个?
我试过这个:
CONVERT(VARCHAR(8), getdate(), 108)
我只想hh:mm
从日期开始。
我怎么能得到这个?
我试过这个:
CONVERT(VARCHAR(8), getdate(), 108)
只需使用前 5 个字符...?
SELECT CONVERT(VARCHAR(5),getdate(),108)
您可以轻松地使用 Format() 函数,而不是仅适用于 sql 2012 及更高版本的所有转换
SELECT FORMAT(GETDATE(),'hh:mm')
这是迄今为止进行所需转换的最佳方式。
另一种使用DATEPART
内置函数的方法:
SELECT cast(DATEPART(hour, GETDATE()) as varchar) + ':' + cast(DATEPART(minute, GETDATE()) as varchar)
如果要显示 24 小时格式,请使用:
SELECT FORMAT(GETDATE(),'HH:mm')
并显示 12 小时格式使用:
SELECT FORMAT(GETDATE(),'hh:mm')
以下代码在“小时:分钟”列中为我们显示当前小时和分钟。
SELECT CONVERT(VARCHAR(5), GETDATE(), 108) +
(CASE WHEN DATEPART(HOUR, GETDATE()) > 12 THEN ' PM'
ELSE ' AM'
END) 'Hour:Minutes'
或者
SELECT Format(GETDATE(), 'hh:mm') +
(CASE WHEN DATEPART(HOUR, GETDATE()) > 12 THEN ' PM'
ELSE ' AM'
END) 'Hour:Minutes'
以下适用于 2008R2+ 以产生“HH:MM”:
select
case
when len(replace(replace(replace(right(cast(getdate() as varchar),7),'AM',''),'PM',''),' ','')) = 4
then '0'+ replace(replace(replace(right(cast(getdate() as varchar),7),'AM',''),'PM',''),' ','')
else replace(replace(replace(right(cast(getdate() as varchar),7),'AM',''),'PM',''),' ','') end as [Time]
这是显示来自 SELECT 语句的字段的小时和分钟的语法。在此示例中,SQL 字段名为“UpdatedOnAt”并且是 DateTime。使用 MS SQL 2014 进行测试。
SELECT Format(UpdatedOnAt ,'hh:mm') as UpdatedOnAt from MyTable
我喜欢将星期几显示为 3 个字母缩写的格式,并包括秒:
SELECT Format(UpdatedOnAt ,'ddd hh:mm:ss') as UpdatedOnAt from MyTable
“as UpdatedOnAt”后缀是可选的。它为您提供了一个与您选择开始的字段相同的列标题。
您可以将日期时间转换为时间
select CAST(GETDATE() as time)
如果你想要一个 hh:mm 格式
select cast(CAST(GETDATE() as time) as varchar(5))
TO_CHAR(SYSDATE, 'HH') 我用它来获取 apex PL/SQL 中的当前小时