2016-08-11 7 views
0

Done автоматически добавляет дату ко времени базы данных SQL Server 2005 Express. Поэтому, когда вы добавляете новую запись в базе данных автоматически добавляется дата и время в виде:Как побывать в режиме раз 11:21 (выделено красным цветом) с помощью базы данных SQL Server?

Create Table Baza_test 
(

    ID bigint IDENTITY (1,1) NOT NULL, 
    Client nvarchar (23) 
    address nvarchar (46) 
    DateOfAddmission datetime default CURRENT_TIMESTAMP 
    aaaaaadres nvarchar (46) 

); 

Как получить только время (выделено красным цветом):

enter image description here

с SQL База данных сервера?

+1

'CONVERT (VARCHAR (5), DateOfAdmisson, 108)' – Squirrel

ответ

1

С помощью следующего запроса:

select CONVERT(VARCHAR(5), DateOfAddmission,108) AS [time] from Baza_test where ID = 1; 
0

Try, как это,

12 HOURS FORMAT 

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), DateOfAddmission, 100), 7)) FROM Baza_test 

24 HOURS FORMAT 

SELECT CONVERT(VARCHAR(5),DateOfAddmission, 108) FROM Baza_test 
1

CONVERT(VARCHAR) отвечает на повторно действительно, если вы хотите больше гибкости и не знаю, коды преобразования, как я :), вы могли бы сделать это с FORMAT:

DECLARE @d DATETIME = GETDATE(); 
SELECT FORMAT(@d, 'hh:mm') AS 'Time Result' 
0

Помимо ответа, данного здесь еще один способ это -

SELECT CAST(CAST(GETDATE() AS Time(0)) AS VARCHAR(5)) 

Выход

05:48 

А в вашем случае его -

SELECT CAST(CAST(DateOfAddmission AS Time(0)) AS VARCHAR(5)) AS [time] 
FROM Baza_test 
WHERE ID = 1; 
1

Если 2012+

Select format(GetDate(),'HH:mm') --For the 24 clock 
Select format(GetDate(),'hh:mm tt') --For the 12 clock 

То есть, я был информирован о том, что FORMAT() имеет низкую производительность