Как получить часть времени из SQL Server 2005 datetime в формате «ЧЧ: мм тт» - PullRequest
18 голосов
/ 08 июля 2010

Как получить часть времени из SQL Server 2005 datetime в HH:mm tt формате

Например

11:25 AM
14:36 PM

Ответы [ 9 ]

26 голосов
/ 08 июля 2010

Один из способов:

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

Если вы посмотрите Books Online здесь , то формат 100 - это тот элемент времени, в котором есть элемент времени в том формате, в котором вы его хотите,это просто случай срыва даты с фронта.

9 голосов
/ 08 июля 2010

Вам понадобятся два конвертера, один для получения значения ЧЧ: мм, а другой для получения 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 именем вашего столбца.

7 голосов
/ 26 июля 2012

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/

2 голосов
/ 11 сентября 2013
select substring(CONVERT(VARCHAR, getdate(), 114),1,5)

результат: 22: 05

2 голосов
/ 22 ноября 2012

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
1 голос
/ 09 февраля 2015

Это дает вам фактическую дату, а не varchar

CAST(LEFT(YOURDATETIME,12) AS SMALLDATETIME) AS YOURNEWDATE
1 голос
/ 06 июня 2013
select cast(getdate() as time)) [time],
1 голос
/ 08 июля 2010

Вам необходимо использовать CONVERT функцию:

CONVERT(VARCHAR, yourdatetimefiled, 114) AS [HH:MI(12H)]
0 голосов
/ 08 июля 2010
select right(convert(char(20),getdate(),0),7)

Нет проверки, хотя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...