Как получить временную часть из даты и времени SQL Server 2005 в формате HH:mm tt
например.
11:25 AM
14:36 PM
Как получить временную часть из даты и времени SQL Server 2005 в формате HH:mm tt
например.
11:25 AM
14:36 PM
Один из способов:
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))
Если вы посмотрите Книги онлайн здесь, формат 100 - это тот, который имеет элемент времени в формате, в котором вы хотите, это просто случай снятия даты с фронта.
Вам понадобятся два конверта, один для получения времени 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 на ваше имя столбца.
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
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
select substring(CONVERT(VARCHAR, getdate(), 114),1,5)
resault: 22:05
Вам нужно использовать функцию CONVERT
:
CONVERT(VARCHAR, yourdatetimefiled, 114) AS [HH:MI(12H)]
select cast(getdate() as time)) [time],
Это дает вам фактическое datetime, а не varchar
CAST(LEFT(YOURDATETIME,12) AS SMALLDATETIME) AS YOURNEWDATE
select right(convert(char(20),getdate(),0),7)
Нет проверки, хотя