如何在SQL Server中转换日期格式?

时间:2016-07-08 16:40:21

标签: sql sql-server

我有一个包含日期的表,格式为:'01 -16-1989',这是mm-dd-yyyy,但我想插入另一个格式如下的表:'1989-01-16'这是yyyy-mm-dd。我可以在insert语句中使用什么函数来执行此操作?

insert into des_table
select date from source_table

如何更新第二行以完成日期格式转换?

4 个答案:

答案 0 :(得分:0)

您可以使用转换类型110将字符串从mm-dd-yyyy格式转换为日期:

select convert(date, [date], 110) 
from source_table

然后,您可以使用代码120将其转换为yyyy-mm-dd格式的字符串:

select convert(varchar(10), convert(date, [date], 110), 121)

答案 1 :(得分:0)

您可以使用DATE_FORMAT()格式化日期 这是一种方式 SELECT DATE_FORMAT(date, '%Y-%m-%d') FROM source_table;

来源:Redis Keyspace Notifications

答案 2 :(得分:0)

除非它们实际上不是日期时间数据类型,否则您的插入应该是黄金的。

另外,要回答这个问题,您应该告诉我们您正在使用的RDBMS。

如果您正在使用MySQL,那么应该让您满意:

select DATE_FORMAT(current_date,'%y/%m/%d');

在日期注意事项中,您应该保留所有日期 ISO formated

答案 3 :(得分:0)

由于您的专栏已经是DATE,因此您无需对插页进行任何转换。如果您希望它在特定查询结果中以某种方式显示,则可以使用CONVERT。有许多格式选项,但同样,您不必费心改变它在插页上的外观。

以下是一些资源

  

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

     

https://technet.microsoft.com/en-us/library/ms187928(v=sql.105).aspx

     

http://www.w3schools.com/sql/func_convert.asp