我想采用Getdate()
的结果,
例如
2011-10-05 11:26:55.000
到
11:26:55 AM
我看了其他地方并找到了
Select RIGHT(CONVERT(VARCHAR, GETDATE(), 100),7)
给了我
11:26AM
它非常接近我可以尝到它!
答案 0 :(得分:19)
select convert(varchar(10), GETDATE(), 108)
我刚刚运行它时返回17:36:56
。
答案 1 :(得分:7)
您可能想要查看this旧帖子。
如果您可以省略AM / PM部分并使用SQL Server 2008,则应采用建议的方法here
要及时摆脱nenoseconds(SQL Server 2008),请执行以下操作:
SELECT CONVERT(TIME(0),GETDATE()) AS HourMinuteSecond
我希望它有所帮助!!
答案 2 :(得分:3)
获取所需的格式:
SELECT (substring(CONVERT(VARCHAR,GETDATE(),22),10,8) + ' ' +
SUBSTRING(CONVERT(VARCHAR,getdate(),22), 19,2))
你为什么要从sql中提取这个?
答案 3 :(得分:2)
您是否尝试过不时进行演员阵容?
select cast(getdate() as time)
回顾问题,我看到了“ AM / PM”结尾。因此,我对这个问题的回答是:
select format(getdate(), 'hh:mm:ss tt')
在Microsoft SQL Server 2012和更高版本上运行。
答案 4 :(得分:0)
如果是SQL Server 2005,则没有TIME
数据类型。仅获取时间组件的最简单方法是将日期设置为1/1/1900。
DECLARE @time DATETIME
SET @Time = GETDATE()
SELECT DATEADD(dd,DATEDIFF(dd,@time,'1/1/1900'),@time)
答案 5 :(得分:0)
您将可以使用以下查询获取时间:
select left((convert(time(0), GETDATE ())),5)
答案 6 :(得分:0)
您可以使用数据部分维护时间日期类型,并将其与其他时间进行比较。
请检查以下示例:
declare @fromtime time = '09:30'
declare @totime time
SET @totime=CONVERT(TIME, CONCAT(DATEPART(HOUR, GETDATE()),':', DATEPART(MINUTE, GETDATE())))
if @fromtime <= @totime
begin print 'true' end
else begin print 'no' end
答案 7 :(得分:-1)