Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Снова к вопросу о формате даты


Автор: Lunatikus 20.12.2007, 15:17
Здравствуйте.
Требуется получить из полной даты дату в формате мм.гггг
Сразу пошел смотреть convert,но у него нет подходящих кодов для такого формата.Везде есть год,месяц,день.
Подскажите,как это реализовать?

Автор: Servena 20.12.2007, 15:32
Можно так:
Код

SELECT CONVERT(VARCHAR(10),DATEPART(month,'12.19.2007'))+'.'+CONVERT(VARCHAR(10),DATEPART(year,'12.19.2007'))

Автор: Lunatikus 20.12.2007, 15:38
ну как в текстовом виде,понятно,прошу прощения за неполную инфу.Видимо тип "дата" не может включать только месяц и год.ммм...все понял,как сделать. Вполне подойдет формат "01.мм.гггг".переведу,как ты сказал, в текстовое, а потом в дату обратно.

Автор: rni 23.4.2008, 09:11
Цитата(Servena @  20.12.2007,  18:02 Найти цитируемый пост)
SELECT CONVERT(VARCHAR(10),DATEPART(month,'12.19.2007'))+'.'+CONVERT(VARCHAR(10),DATEPART(year,'12.19.2007'))


А если не 12.19.2007, а 04.23.2008 ? 0 не появится перед четверкой в случае такого конвертирования. Неужели нет простого решения? Можно конечно использовать CASE  WHEN DATEPART(month,'12.19.2007')<10 THEN ... END, но хотелось бы что нибудь поизящнее
----------------------
Вопрос снят  

Нашел конкретно для себя, млин...

select REPLACE(REPLACE(convert (varchar, GETDATE(),120),'-','/'),' ','-')

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)