将字符串/ varchar转换为MySQL表之间的日期
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将字符串/ varchar转换为MySQL表之间的日期,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1221字,纯文字阅读大概需要2分钟。
内容图文
![将字符串/ varchar转换为MySQL表之间的日期](/upload/InfoBanner/zyjiaocheng/887/8a88db6943da4e49bcb55576a0cc71db.jpg)
我有一个大型PHP项目,一直在为自己的业务而努力.
我有一个MySQL表,大约有2600个条目,我想“固定”日期.我的当前表有3个VARCHAR列,其中包含字符串日期.我想将它们转换成重复的表,但是在途中将它们更改为DATE.
进行转换后,一切看起来都很好,我将把新表复制到旧数据库,并且只允许日期选择器连续输入这些日期.
现有的大多数字符串日期都采用mm-dd-yyyy格式,例如:05-03-2013.有些是mm / dd / yyyy,例如:2013年5月3日,有些是MONTH DAY,YEAR格式,例如:2013年3月26日.
我最终想要的是它们采用yyyy-mm-dd格式,例如:2013-05-02.
我想我可以使用PHP做到这一点,将每个字符串日期传递给strtotime()然后传递date(),但是我想知道MySQL是否可以直接做到这一点.
解决方法:
看一下STR_TO_DATE的功能:
UPDATE yourtable
SET
new_column = STR_TO_DATE(varchar_date, '%m-%d-%Y')
WHERE
STR_TO_DATE(varchar_date, '%m-%d-%Y') IS NOT NULL
然后是相同的查询,日期格式为’%m /%d /%Y’,然后再次使用’%M%D,%Y’.
如果格式不匹配,则STR_TO_DATE将返回NULL,并且行将不会更新.
如果希望将现有数据插入到新表中,则可以使用以下方法:
INSERT INTO new_table (ID, col1, col2, new_column)
SELECT
ID, col1, col2,
COALESCE(STR_TO_DATE(varchar_date, '%m-%d-%Y'),
STR_TO_DATE(varchar_date, '%m/%d/%Y'),
STR_TO_DATE(varchar_date, '%M %D, %Y'))
FROM oldtable
(new_column是一个日期列,然后您可以使用PHP或DATE_FORMAT格式化所需的格式)
内容总结
以上是互联网集市为您收集整理的将字符串/ varchar转换为MySQL表之间的日期全部内容,希望文章能够帮你解决将字符串/ varchar转换为MySQL表之间的日期所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。