开发者社区> 问答> 正文

如何比较日期和时间为2019年6月6日上午11:19的当前日期的sql数据库的日期和时间字段,此格式

已解决

我想从当前日期比较数据库的日期,但不能。试过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

展开
收起
保持可爱mmm 2019-12-14 20:52:47 630 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    您在找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

    2019-12-14 20:53:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载