我想从当前日期比较数据库的日期,但不能。试过DATE_FORMAT,FROM_UNIXTIME,DATE,STR_TO_DATE但没有什么工作。他们仅返回NULL。
DateAndTime此格式和类型为“ 2019年6月12日下午03:24”的列VARCHAR。
SELECT User, DATE_FORMAT(DateAndTime,'%d-%m-%Y') AS AddDate FROM CallList
您在找str_to_date()吗?
str_to_date(DateAndTime, '%M %d, %Y at %I:%i%p')
重要说明:切勿将日期存储为字符串。这在许多方面都是有害的:它效率低下,并且会给您所有的查询(您开始看到)增加无用的复杂性。我强烈建议您修复数据模型以将日期存储在相关date数据类型中。
这是一个迁移过程框架:
-- create a new column and populate it alter table CallList add DateAndTime2 datetime; update CallList set DateAndTime2 = str_to_date(DateAndTime, '%M %d, %Y at %I:%i%p');
-- drop the old column and rename the new colum alter table CallList drop column DateAndTime; alter table CallList change DateAndTime2 DateAndTime datetime;
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。