2015-07-16 2 views
1

Я искал ответ и не смог найти точного, удовлетворяющего мои потребности.Как преобразовать формат GetDate() в формат "YYYY-MM-DD-HHMM"?

Я ищу способ конвертировать Datetime значение в формат YYYY-MM-DD-HHMM.

Я попробовал один:

select CONVERT(varchar(20),GETDATE(), 120) + replace(convert(varchar(5),getdate(),108),':','') 

Но это не дает мне правильные результаты

Есть ли практический способ сделать это?

+1

Какая у вас СУБД/версия? – Siyual

+0

У меня есть SQL Server 2012 – gene

+0

Вы пробовали что-нибудь самостоятельно? Покажите нам ур, кажется, что вы просто ** просили нас сделать это за вас **. – Bikku

ответ

5

В SQL Server 2012 или более поздней версии вы можете использовать встроенный в Format() функции для этого:

Select Format(GetDate(), N'yyyy-MM-dd-HHmm') 
+1

Nice. Я всегда забываю, что через 15 лет они, наконец, добавили это. – RBarryYoung

+0

На самом деле, у меня есть SQL Server Management Studio 2012, но версия Microsoft SQL Server 2005: – gene

+0

@gene Это сильно ограничит ваши варианты - версия SSMS не " t влияет на то, какие функции доступны вам. Я вернул тему с правильной версией. –

0

Это работает для меня:

select CONVERT(varchar(10),GETDATE(), 20) + '-' + replace(convert(varchar(5),getdate(),108),':','') 

Я не уверен, если это является эффективным или нет , хотя

Смежные вопросы