从Getdate获取时间()

时间:2011-10-05 16:31:25

标签: sql sql-server tsql time

我想采用Getdate()的结果,

例如

2011-10-05 11:26:55.000

11:26:55 AM

我看了其他地方并找到了

Select RIGHT(CONVERT(VARCHAR, GETDATE(), 100),7)

给了我

11:26AM

它非常接近我可以尝到它!

8 个答案:

答案 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)

让我们尝试一下

  

选择convert(varchar,getdate(),0)

请稍等片刻here