【问题标题】:how to convert date in English and French如何在英语和法语中转换日期
【发布时间】:2015-06-28 17:08:59
【问题描述】:

我正在尝试在我的表格中存储格式化的显示日期。例如,我有一个日期为 20150621,我希望它为 2015 年 6 月 21 日和 2015 年 6 月 21 日(法语)。

我有一个疑问:convert(varchar(12),cast([datecolumn]) as datetime),107)

这个输出: Jun 21,2015 ,但我需要 June 21,2015 和法国日期。

我使用的是 Sql 2005,所以格式在其中不起作用。

【问题讨论】:

  • 我的日期列是 varchar

标签: sql sql-server tsql sql-server-2005


【解决方案1】:

您可以将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)

【讨论】:

  • 谢谢ughai,但是你知道这个功能在2005版上是否有效
  • 是的,它会起作用。检查here。你也可以试试我的示例查询
  • 谢谢ughai,它适用于法语,我很喜欢,但不适用于英语任何cmets ....
【解决方案2】:

写成:

    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

【讨论】:

  • 感谢 deepshikha,我正在尝试在 SQL 2005 SET LANGUAGE French SELECT CONVERT(VARCHAR(12),CAST(datecolumn AS DATETIME),106) 中执行此操作为 [DD MON YYYY] ...。 . 但给我的错误是它在 SQL 2005 中的格式不正确
  • 格式不正确??没有安装法语可能是两件事:检查select * from sys.syslanguages的结果或日期已存储为varchar,可能有一列格式不正确
  • 是的,日期的格式类似于 20150421,它是一个 varchar 列,这就是为什么我要转换为日期时间
猜你喜欢
  • 2021-12-25
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 1970-01-01
相关资源
最近更新 更多