繁体   English   中英

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

[英]How to convert the date format in SQL Server?

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

insert into des_table
select date from source_table

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

您可以使用转换类型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)

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

资料来源: http : //dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_date-format

除非它们实际上不是日期时间数据类型,否则您的插入内容应为原样。

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

如果您使用的是MySQL,则可以满足您的要求:

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

在日期注释上,您应该将所有日期保持ISO格式

由于您的资料栏已经是DATE您无需在插入内容上进行任何转换。 如果希望它在特定的查询结果中以某种方式显示,则可以使用CONVERT。 格式选项很多,但是同样,您无需费心更改插入物上的外观。

这里有一些资源

https://msdn.microsoft.com/zh-CN/library/ms187928.aspx

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM