mysql日期(datatime)比较问题

rasou 2014-12-19 11:00:32
Mysql5.5手册里是这么说的:

引用
假如参数中的一个为 TIMESTAMP 或 DATETIME 列,而其它参数均为常数, 则在进行比较前将常数转为
timestamp。这样做的目的是为了使ODBC的进行更加顺利。注意,这不适合IN()中的参数!为了更加可
靠,在进行对比时通常使用完整的 datetime/date/time字符串。


那么问题来了,之前经常这么写sql,例如:

select * from table where createtime >= '2014-12-01 12:00:00' and createtime <= '2014-12-01 12:59:59';


其中createtime字段是datetime类型的,这么写sql不会报错,但网上说有可能查的不准,真是这样吗,为什么?
...全文
672 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rasou 2014-12-19
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
引用
其中createtime字段是datetime类型的,这么写sql不会报错,但网上说有可能查的不准,真是这样吗,为什么?
网上说,或者听别人说。这类东西都是靠不住。
不过mysql手册上好像也没说比较操作符后面可以跟日期字符串啊。 另外,这么写:
select * from table where createtime >= '2014-12-01 12:00:00' and createtime <= '2014-12-01 12:59:59';
和这么写:
select * from table where createtime >= STR_TO_DATE('2014-12-01 12:00:00','%Y-%m-%d %H:%i:%s') and createtime <= STR_TO_DATE('2014-12-01 12:59:59','%Y-%m-%d %H:%i:%s');
有啥却别?要是没区别的话为什么还要有STR_TO_DATE这个函数,还有诸如用UNIX_TIMESTAMP函数转换日期字段/字符串的方式写sql,怎么觉着有点乱呢。
ACMAIN_CHM 2014-12-19
  • 打赏
  • 举报
回复
引用
其中createtime字段是datetime类型的,这么写sql不会报错,但网上说有可能查的不准,真是这样吗,为什么?
网上说,或者听别人说。这类东西都是靠不住。
rasou 2014-12-19
  • 打赏
  • 举报
回复
明白
ACMAIN_CHM 2014-12-19
  • 打赏
  • 举报
回复
'12/01/2014' 请问是几月? 同理,'2014-12-01'又是几月? MYSQL是凭什么知道的呢? 而STR_TO_DATE('2014-12-01 12:59:59','%Y-%m-%d %H:%i:%s'); 则非常明确。 如果仍有其它问题,建议重新开贴在楼顶描述清楚,毕竟很多人不会去花时间看下面的其它问题的。
图书管理系统数据库设计-MYSQL实现(2) 1 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第1页。图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第1页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第1页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第1页。 图书管理系统数据库设计 一、系统概述 1、系统简介 图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第2页。图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第2页。6.管理员可以注销学生信息。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第2页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第2页。 通过需求定义,画出图书管理系统的数据流图: 数据流图 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第3页。图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第3页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第3页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第3页。 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍。 系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第4页。图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第4页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第4页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第4页。 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第5页。图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第5页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第5页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第5页。 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。 student: 列名 数据类型 是否为空/性质 说明 stu_id int not null /PK 标明学生唯一学号 stu_name varchar not null 学生姓名 stu_sex varchar not null 学生性别 stu_age int not null 学生年龄 stu_pro varchar not null 学生专业 stu_grade varchar not null 学生年级 stu_integrity int not null/default=1 学生诚信级 book: 列名 数据类型 是否为空/性质 说明 book_id int not null / PK 唯一书籍序号 book_name varchar not null 书籍名称 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第6页。图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第6页。book_author 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第6页。 图书管理系统数据库设计-MYSQL实现(2)全文共38页,当前为第6页。 varchar not null 书籍作者 book_pub varchar not null 书籍出版社 book_num int not null 书籍是否在架上 book_sort varchar not null 书籍分类 book_record datatime null 书籍登记日期 book_sort: 列名 数据类型 是否为空/性质 说明 sort_id varchar not null / PK 类型编号 sort_name varchar not null 类型名称 bo

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧