首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按日期时间MYSQL格式筛选

问按日期时间MYSQL格式筛选
EN

Stack Overflow用户
提问于 2013-05-21 03:47:49
回答 2查看 71.5K关注 0票数 19

我有一个Mysql表,用于在那个表上的日志文件,有一个名为'log_date‘的字段,它以以下格式存储日期( %Y-%m-%d %H:%i.%s ).On数据库日期看起来像这个2013-20-05 00:00.00。假设今天的日期是2013-20-05,我有从2013-01-01到现在的日志文件。如果我像这样运行一个查询:

代码语言:javascript
复制
SELECT * FROM log_table
WHERE STR_TO_DATE(log_date, '%Y-%m-%d %H:%i.%s') < '2013-05-05 00:00.00'

如果我用如下所示的查询将< (less then)反转为a> (greater ):

代码语言:javascript
复制
SELECT * FROM log_table
WHERE STR_TO_DATE(log_date, '%Y-%m-%d %H:%i.%s') > '2013-05-05 00:00.00'

然后它返回零行。为什么会发生这种情况?

EN

回答 2

Stack Overflow用户

发布于 2013-05-21 05:03:52

log_date应为DateTime数据类型。使用MySQL日期函数要简单得多。一些例子

代码语言:javascript
复制
SELECT * FROM log_table
WHERE DATE(log_date) < '2013-05-05'

SELECT * FROM log_table
WHERE DATE(log_date) > '2013-05-05'

SELECT * FROM log_table
WHERE DATE(log_date) BETWEEN '2013-04-05' AND '2013-05-05'

SELECT * FROM log_table
WHERE DATE(log_date) BETWEEN DATE(CURRENT_DATE() - INTERVAL 2 WEEK) AND 
DATE(CURRENT_DATE() + INTERVAL 4 DAY)
票数 40
EN

Stack Overflow用户

发布于 2013-05-21 13:11:17

你可以试一试..

代码语言:javascript
复制
  WHERE DATE_FORMAT(AUCTION_DATE, '%Y%m%d') >= DATE_FORMAT('2013/5/18', '%Y%m%d')

您还可以使用now()函数获取今天的日期。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16657202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档