2015-04-21 2 views
0

Я пытаюсь сохранить отформатированные даты отображения в моих таблицах. Например, у меня есть дата 20150621, и я хочу, чтобы она была 21 июня 2015 года и 21 июля 2015 года (для французского).как преобразовать дату на английском и французском

У меня есть запрос: convert(varchar(12),cast([datecolumn]) as datetime),107)

Это выводит: Jun 21,2015, но мне нужно июня 21,2015, а также французскую дату.

Я использую Sql 2005, поэтому формат не работает в нем.

+0

и моей колонке дата является VARCHAR –

ответ

0

Написать как:

SELECT DATENAME(MM, CAST([datecolumn] AS DATETIME)) 
     + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) 
     AS [Month DD, YYYY] 
from test 

Go 

SET LANGUAGE French 
SELECT CONVERT(VARCHAR(12),CAST(datecolumn AS DATETIME),106) as [DD MON YYYY] 
from test 

DEMO

+0

Спасибо deepshikha, я пытаюсь сделать это в SQL 2005 SET LANGUAGE French SELECT CONVERT (VARCHAR (12), CAST (datecolumn AS DATETIME), 106) как [DD MON YYYY] ..... но давая мне ошибку, что ее неправильный формат в SQL 2005 –

+0

не правильный формат? это может быть две вещи, либо французский не установлен: проверьте результаты для 'select * from sys.syslanguages' или как дата была сохранена как varchar, может быть столбец, который находится в неправильном формате – Deepshikha

+0

да дата в формате 20150421 и его колонтитул varchar, поэтому я делаю бросок как datetime –

0

Вы можете установить Language на французский, а затем запустить запрос. Что-то вроде этого

SET LANGUAGE us_english 
SELECT CONVERT(VARCHAR(12),CAST('2015-01-01' AS DATETIME),107) 

SET LANGUAGE French 
SELECT CONVERT(VARCHAR(12),CAST('2015-01-01' AS DATETIME),107) 
+0

Благодаря ughai, но вы знаете, если эта функция работает на издание 2005 –

+0

да это будет работать. проверьте [здесь] (https://msdn.microsoft.com/en-us/library/ms174398%28v=sql.90%29.aspx). вы можете попробовать мой примерный запрос, а также – ughai

+0

Спасибо, ughai, он работал на французском, потрясающий i appriciate, но не работал на английском никаких комментариев .... –

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