Отображение даты и времени с использованием названия месяца в T-SQL - PullRequest
3 голосов
/ 25 января 2010

В таблице есть поле типа даты. Формат этого поля: мм / дд / гг. Есть ли способ преобразовать его в dd-Month name-yy?

С наилучшими пожеланиями,

Ответы [ 5 ]

7 голосов
/ 25 января 2010

Без лишних хлопот, вы можете использовать CONVERT , чтобы получить формат "dd MONTHNAME yyyy":

SELECT CONVERT(VARCHAR, GETDATE(), 106)

например. "25 января 2010"

Если вам нужен точный формат, вам может понадобиться немного поиграться, например:

SELECT CAST(DAY(GETDATE()) AS VARCHAR) +  '-' + LEFT(DATENAME(mm, GETDATE()), 3) + '-' + RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2)

например. "25-Jan-10"

Обновление:
На самом деле, более короткий путь к достижению этого:

SELECT REPLACE(CONVERT(VARCHAR, GETDATE(), 6), ' ', '-')

например. "25-Jan-10"

2 голосов
/ 25 января 2010

Посмотрите на функции CAST и CONVERT:

http://msdn.microsoft.com/en-us/library/ms187928.aspx

2 голосов
/ 25 января 2010

пример:

select convert( char(8), getdate(), 5 ) 

выход:

дд-мм-уу

Источник: compuspec преобразование формата даты

1 голос
/ 25 января 2010

вы можете попробовать convert () ?

0 голосов
/ 25 января 2010

Возможно, вам необходимо различать хранение значений даты и времени в SQL Server и их отображение.Вот отличная статья, которая объясняет, что происходит за кулисами: Полное руководство по типам данных datetime

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