Манипуляции со строками в преобразованном datetime в varchar t-sql - PullRequest
0 голосов
/ 03 марта 2011

У меня есть поле smalldatetime, которое я конвертирую в varchar (который работает нормально), теперь я хочу вырезать его в запросе select, чтобы вернуть только время, а не дату.

convert(varchar, [DTMON_F]) as mondayFrom

Это возвращает "28 февраля 2011 10:30 утра" Я хочу просто вернуть "10:30 утра"

Ответы [ 3 ]

1 голос
/ 03 марта 2011

Вы можете использовать один из предопределенных стилей формата, которые содержат только части времени, например:

convert(varchar, [DTMON_F], 108)
convert(varchar, [DTMON_F], 114)

, если они дают подходящий вывод.

В противном случае вы можете создавать свои собственные выходные данные, объединяя результаты различных вызовов функций DATEPART.

1 голос
/ 03 марта 2011

Попробуйте RIGHT(CONVERT(VARCHAR, [DTMON_F]), 7)

http://msdn.microsoft.com/en-us/library/ms187928%28v=SQL.105%29.aspx

0 голосов
/ 03 марта 2011

Два способа прийти на ум

select convert(varchar,[DTMON_F],8) as mondayFrom

вернется в 10:30:00 (в 24-часовом формате)

select ltrim(right(convert(varchar,[DTMON_F]),7)) as mondayFrom

вернется в 10:30 PM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...