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