2016-07-11 5 views
0

Пожалуйста, может кто-нибудь предложить мне получить правильные результаты?Sql удалить миллисекунды и преобразование даты

У меня есть поле даты, которое приводит к форме «2016-07-08 10: 09: 22.910» и вы хотите удалить миллисекунды и в то же время хотите конвертировать это поле в «08/07/2016 10:09: 22 "

Мне удалось удалить миллисекунды, используя CONVERT(VARCHAR, [DateFileCreated], 20), но не смог преобразовать его в желаемый формат.

Пожалуйста, предложите

+3

Пожалуйста, помечать вопрос с базой данных, которую вы используете. –

+0

Нельзя использовать конвертер, вам нужен другой формат даты. Вам не нужно преобразовывать в String rep. –

ответ

1

В SQL Server, вы можете использовать FORMAT available from SQL Server 2012

SELECT FORMAT (getdate(), 'yyyy-MM-dd HH:mm:ss') 

Выход:

2016-07-11 07:13:33 
+0

да, это сработало с небольшим изменением .. теперь это использовалось, и он работал FORMAT ([DateFileCreated], 'dd/MM/yyyy HH: mm: ss') – satya

1

Ссылка на convert() предполагает, что вы используете SQL Server. Вы можете увидеть список форматов, поддерживаемых convert() в documentation.

Формат 131 очень близко к тому, что вы хотите:

select convert(varchar(255), DateFileCreated, 131) 

В SQL Server 2012+, вы можете использовать format(), чтобы получить именно то, что вы хотите. Документация для этой функции - here.

+0

Простите, Гордон, попробовав выше, он дает мне смешные результаты, например. 3/10/1437 10: 13: 05: 360AM – satya

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