Получить время от Getdate () - PullRequest
4 голосов
/ 05 октября 2011

Я хотел бы взять Getdate() результаты,

например

2011-10-05 11:26:55.000

в

11:26:55 AM

Я посмотрел другие места и нашел

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

, что дает мне

11:26AM

Это так близко, что я могу попробовать!

Ответы [ 6 ]

20 голосов
/ 05 октября 2011
select convert(varchar(10), GETDATE(), 108)

вернул 17:36:56, когда я запустил его несколько минут назад.

8 голосов
/ 05 октября 2011

Возможно, вы захотите проверить эту старую ветку.

Если вы можете опустить часть AM / PM и использовать SQL Server 2008, вам следует придерживаться подхода, предложенного здесь

Чтобы избавиться от наносекунд во времени (SQL Server 2008), выполните следующие действия:

SELECT CONVERT(TIME(0),GETDATE()) AS HourMinuteSecond

Надеюсь, это поможет !!

3 голосов
/ 05 октября 2011

Чтобы получить нужный формат:

SELECT (substring(CONVERT(VARCHAR,GETDATE(),22),10,8) + ' ' + SUBSTRING(CONVERT(VARCHAR,getdate(),22), 19,2))

Почему вы вытаскиваете это из sql?

0 голосов
/ 16 июля 2019

Вы сможете узнать время, используя следующий запрос:

select left((convert(time(0), GETDATE ())),5)
0 голосов
/ 14 июня 2019

давайте попробуем это

выберите конвертировать (varchar, getdate (), 0)

просто попробуйте несколько минут назад здесь

0 голосов
/ 05 октября 2011

Если это SQL Server 2005, тип данных TIME отсутствует.Самый простой способ получить только компонент времени - установить дату на 1/1/1900.

DECLARE @time DATETIME

SET @Time = GETDATE()

SELECT DATEADD(dd,DATEDIFF(dd,@time,'1/1/1900'),@time)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...