2015-10-29 1 views
0

Что такое формат для использования в SQL, чтобы получить дату в формате, какФормат даты в SQL дд/мм/гггг чч: мм: сс AM/PM

dd/mm/yyyy hr:mm:ss AM/PM 

например: 9/17/2013 4:55:43 PM

ссылка ниже дает ответ, но я хочу значение в секундах также

How to display Date in DD/MM/YYYY H:MM AM/PM format in SQL Server

Вместо 101 ниже в запросе.

convert(varchar, CONVERT(smalldatetime, PhaseStartDate), 101) 
+1

'дд/мм/yyyy' и' 9/17/2013'? –

+1

Возможный дубликат [Формат даты возвращается как mm/dd/yyyy hh: mm: ss AM/PM] (http://stackoverflow.com/questions/26063902/date-format-returned-as-mm-dd-yyyy- hhmmss-am-pm) – Marusyk

+1

Пожалуйста, не используйте 'convert (varchar, .....)' - вы должны ** всегда ** явно определять длину ** для вашего типа 'varchar' - вот так: 'convert (varchar (20), .....)'. В противном случае вы получите некоторые значения по умолчанию - знаете ли вы, какие значения по умолчанию здесь, и подходят ли вам для вас? –

ответ

1

Вы можете проверить оба сообщения ниже ... Они преобразовывают в мм/дд вместо дд/мм

но, чтобы получить то, что вы хотите, просто изменить до 103 вместо 101;)

Link 1 Link 2

1
select convert(varchar(10), GETDATE(), 103 /*or 101*/) + ' ' + 
    ltrim(right(convert(varchar(20), GETDATE(), 22), 11)) 
0

Возможно вы имели в виду 103 или мм/дд/гггг вместо этого. Вы могли бы изготовить это самостоятельно из кусков или комбинировать и изготовить из двух или более стилей.

ИМХО, это должно быть что-то, что вы делаете в своем переднем конце.

0

Я предполагаю, что вы не используете SQL Server 2005. здесь ваш запрос

SELECT 
    CONVERT(VARCHAR,GETDATE(),103) +' '+ 
    CONVERT(VARCHAR(8),CAST(GETDATE() AS TIME))+' '+ 
    SUBSTRING(CONVERT(VARCHAR(30), GETDATE(), 9), 25, 2) 
Смежные вопросы