【问题标题】:How to convert the date format from one to another in sql server?如何在sql server中将日期格式从一种转换为另一种?
【发布时间】:2016-11-17 12:34:30
【问题描述】:

我有一个日期格式为 2012 年 5 月 29 日星期二 16:04:05 EDT

的列

我想把这个格式转换成这个格式:29-05-2012

提前致谢

【问题讨论】:

  • 使用原生格式存储日期/时间。然后在输出时使用convert() 将它们以您想要的任何格式放置。
  • 建议您先查看 SQL Server 中的日期/时间函数并尝试编写代码或至少共享您编写的任何代码。
  • 显示不多,请阅读stackoverflow.com/help/how-to-ask并编辑您的问题。

标签: sql sql-server date-format


【解决方案1】:
SELECT PARSE(REPLACE('Tue, 29 May 2012 16:04:05 EDT', 'EDT', '')AS datetime USING 'en-US')AS [Date&Time]; 

 SELECT dateadd(HH, +4, parse(substring('Tue, 29 May 2012 16:04:05 EDT', 1, 25)    as datetime))

【讨论】:

  • 大家好,我的意思是转换 SQL Server 中整列的日期格式
  • 我的回答不符合你的要求..@RameshGarimella
【解决方案2】:
declare @EDTtext varchar(29),
        @EDTdate date

-- key is remove abbreviation EDT
select @EDTtext = 'Tue, 29 May 2012 16:04:05 EDT' 
select @EDTdate = parse(substring(@EDTtext, 1, 25) as date) 

select format(@EDTdate, 'dd-MM-yyyy') -- format 29-05-2012

如果您的时区与 EDT 不同,请不要忘记偏移。

【讨论】:

  • 您能解释一下 GMT/EDT 偏移与想要更改格式有什么关系吗?
  • 这是奖金。转换日期时间的示例(问题仅在缩写 EDT 时转换为日期时间)并将 EDT 更改为 GMT。
  • 奖金?如果它与要求无关,它如何成为奖励?如果想要更改日期组件的格式,那么将时间组件转换为 GMT 与它有什么关系?要求是将当前日期字符串更改为 dd-MM-YYYY 格式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
相关资源
最近更新 更多