如何以“HH:mm tt”格式从SQL Server 2005 datetime获取时间

时间:2010-07-08 07:24:02

标签: sql tsql sql-server-2005 time

如何以HH:mm tt格式

从SQL Server 2005日期时间中获取时间

E.g。

11:25 AM
14:36 PM

10 个答案:

答案 0 :(得分:26)

一种方法是:

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))

如果您查看Books Online here,格式100就是具有您想要的格式的时间元素的格式,它只是从前面剥离日期的情况。

答案 1 :(得分:9)

你需要两个转换器,一个用于获得HH:mm时间,一个用于获得AM / PM。例如:

declare @date datetime
set @date = '20:01'
SELECT CONVERT(VARCHAR(5), @date, 108) + ' ' +
       SUBSTRING(CONVERT(VARCHAR(19), @date, 100),18,2)

打印:

20:01 PM

在选择查询中,将@date替换为您的列名称。

答案 2 :(得分:7)

SQL Server 2008

SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO

<强>结果

HourMinuteSecond: 13:06:56.5770000
DateOnly:         2012-07-26

SQL Server 2000/2005

SELECT
CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond,
CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
GO

http://blog.sqlauthority.com/2009/08/06/sql-server-get-time-in-hourminute-format-from-a-datetime-get-date-part-only-from-datetime/

答案 3 :(得分:2)

SQL Server 2008

SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO

<强>结果:

HourMinuteSecond: 13:06:56.5770000
DateOnly:         2012-07-26

SQL Server 2000/2005

SELECT
CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond,
CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
GO

答案 4 :(得分:2)

select substring(CONVERT(VARCHAR, getdate(), 114),1,5)

resault:22:05

答案 5 :(得分:1)

您需要使用CONVERT功能:

CONVERT(VARCHAR, yourdatetimefiled, 114) AS [HH:MI(12H)]

答案 6 :(得分:1)

select cast(getdate() as time)) [time],

答案 7 :(得分:1)

这为您提供了实际的日期时间而不是varchar

CAST(LEFT(YOURDATETIME,12) AS SMALLDATETIME) AS YOURNEWDATE

答案 8 :(得分:0)

select right(convert(char(20),getdate(),0),7)

不检查

答案 9 :(得分:0)

对于SQL Server 2012及更高版本,请使用以下命令:

SELECT Format(GetDate(), 'hh:mm tt')