如何在sql server中将日期格式从一种格式转换为另一种格式?

如何在sql server中将日期格式从一种格式转换为另一种格式?,sql,sql-server,date-format,Sql,Sql Server,Date Format,我有一个列,日期格式为2012年5月29日星期二美国东部时间16:04:05 我想将此格式转换为此格式:29-05-2012 提前谢谢 SELECT PARSE(REPLACE('Tue, 29 May 2012 16:04:05 EDT', 'EDT', '')AS datetime USING 'en-US')AS [Date&Time]; 或 如果您的时区与EDT不同,请不要忘记偏移。使用本机格式存储日期/时间。然后使用convert()在输出时将其以您想要的任何格式放置。建议

我有一个列,日期格式为2012年5月29日星期二美国东部时间16:04:05

我想将此格式转换为此格式:29-05-2012

提前谢谢

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


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

使用本机格式存储日期/时间。然后使用
convert()
在输出时将其以您想要的任何格式放置。建议您先查看SQL Server中的日期/时间函数,然后尝试编写代码或至少共享您编写的任何代码。显示的工作量不大,请阅读并编辑您的问题。您能解释一下GMT/EDT偏移与想要更改格式有什么关系吗?很简单奖金。转换日期时间(转换为日期时间时,问题仅限于缩写EDT)和将EDT更改为GMT.bonus的示例?如果这与要求无关,那怎么算是奖金呢?如果想要更改日期组件的格式,那么将时间组件转换为GMT又有什么关系呢?要求是将当前日期字符串更改为dd-MM-YYYY格式hi-Guys,我的意思是转换SQL Server中整个列的日期格式我的答案不满足您的要求。@RameshGarimella
 SELECT dateadd(HH, +4, parse(substring('Tue, 29 May 2012 16:04:05 EDT', 1, 25)    as datetime))
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