我想从日期开始只获得hh:mm
。
我怎么能得到这个?
我试过这个:
CONVERT(VARCHAR(8), getdate(), 108)
请帮帮我。
答案 0 :(得分:53)
只需使用前5个字符......?
SELECT CONVERT(VARCHAR(5),getdate(),108)
答案 1 :(得分:20)
您可以轻松使用Format()函数代替sql 2012及更高版本的所有强制转换
SELECT FORMAT(GETDATE(),'hh:mm')
这是执行所需转换的最佳方式。
答案 2 :(得分:9)
使用DATEPART
内置函数的另一种方法:
SELECT cast(DATEPART(hour, GETDATE()) as varchar) + ':' + cast(DATEPART(minute, GETDATE()) as varchar)
答案 3 :(得分:1)
以下在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]
答案 4 :(得分:0)
以下是显示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”后缀是可选的。它会为您提供一个与您选择开始的字段相等的列标题。
答案 5 :(得分:0)
以下代码在“小时:分钟”列中为我们显示了当前小时和分钟。
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'
答案 6 :(得分:0)
如果要显示24小时格式,请使用:
SELECT FORMAT(GETDATE(),'HH:mm')
并显示12小时格式,请使用:
SELECT FORMAT(GETDATE(),'hh:mm')
答案 7 :(得分:0)
您可以将日期时间转换为时间
select CAST(GETDATE() as time)
如果您想要hh:mm格式
select cast(CAST(GETDATE() as time) as varchar(5))
答案 8 :(得分:0)
TO_CHAR(SYSDATE, 'HH') 我用它来获取 apex PL/SQL 中的当前小时