How to get time part from SQL Server 2005 datetime in 'HH:mm tt' format

Azh*_*har 18 sql t-sql time sql-server-2005

How to get time part from SQL Server 2005 datetime in HH:mm tt format

E.g.

11:25 AM
14:36 PM
Run Code Online (Sandbox Code Playgroud)

Ada*_*Dev 26

一种方法是:

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))
Run Code Online (Sandbox Code Playgroud)

如果您在这里查看联机丛书,格式100是具有您想要的格式的时间元素的格式,它只是从前面剥离日期的情况.

  • 这将打印晚上8点,但我认为问题是寻找晚上20点 (3认同)
  • @Andomar - 好点.如果这确实是我们所需要的,那么我认为AM/PM是无关紧要的,并建议采用更加简洁的方法 (3认同)

And*_*mar 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)
Run Code Online (Sandbox Code Playgroud)

这打印:

20:01 PM
Run Code Online (Sandbox Code Playgroud)

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


Muh*_*bal 7

SQL Server 2008

SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO
Run Code Online (Sandbox Code Playgroud)

结果

HourMinuteSecond: 13:06:56.5770000
DateOnly:         2012-07-26
Run Code Online (Sandbox Code Playgroud)

SQL Server 2000/2005

SELECT
CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond,
CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
GO
Run Code Online (Sandbox Code Playgroud)

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