千家信息网

mysql时间作比较

发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,本文主要给大家介绍mysql时间作比较,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql时间作比较吧。看了Mysql关于日期字段对比的文
千家信息网最后更新 2024年10月11日mysql时间作比较

本文主要给大家介绍mysql时间作比较,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql时间作比较吧。


看了Mysql关于日期字段对比的文档。在进行日期比较的时候,mysql会自动将日期转换成数字进行比较。where条件后,使用字符串格式日期与DATE,DATETIME,TIMESTAMP,TIME类型字段进行比较的时候,对字符串格式要求不严格,你可以使用任意格式的分隔符来表示日期,例如"2018-09-11","2018#09#11","2018&09&11"对于mysql来说,都是相同的日期。如果没有分隔符,例如"20180911",与"2018-09-11"或其他有分隔符的日期,也是相同的。例如下图
select a from t1 where a < '2018#09#11';与select a from t1 where a < '2018-09-11';与select a from t1 where a < '20180911';所代表的意义是相同的,都是查询日期小于2018年9月11日的数据也就是说上图的查询语句,完全可以重写为,这么做的好处?就是会使用索引,是查询更快select a from t1 where a < '2018-09-11';

当将日期类型字段与字符串型日期进行<,>,>=,<=,between比较的时候,Mysql会将字符串类型日期转换成长整型数字进行比较,从而加快查询速度。

下面三种情况除外:

1,两个表格字段的对比;

2,日期类型字段与表达式对比;

3,使用表达式对日期类型字段进行对比;

原因:对于以上三种情况,mysql会将日期转换为字符串进行比较。

下面的例子,都是可以正常运行的:

INSERT INTO t1 (testdate) VALUES (20180912);INSERT INTO t1 (testdate) VALUES ('20180912');INSERT INTO t1 (testdate) VALUES ('18-09-12');INSERT INTO t1 (testdate) VALUES ('2018.09.12');INSERT INTO t1 (testdate) VALUES ('2018 09 12');INSERT INTO t1 (testdate) VALUES ('0000-00-00');SELECT testdate FROM t1 WHERE testdate >= '2018-09-12';SELECT testdate FROM t1 WHERE testdate >= 20180912;SELECT MOD(testdate,100) FROM t1 WHERE testdate >= 20180912;SELECT testdate FROM t1 WHERE testdate >= '20180912';

Mysql允许存储"0000-00-00"作为DATE类型的"0"值,也称之为虚拟日期。在某些场景下比储存NULL值更便捷。如果将一个不合法的日期值保存到DATE类型字段中,mysql默认存储为"0000-00-00"。 如果不允许存储"0"值,请启用NO_ZERO_DATE参数。

也可使用unix_timestamp函数,将字符型的时间,转成unix时间戳。

select meeting_id,meeting_name,start_time,end_time from meeting_data         where meeting_id REGEXP '[0-9]{4}0001'                 and unix_timestamp(start_time) < unix_timestamp(NOW())                 and unix_timestamp(end_time) > unix_timestamp(NOW());

看完以上关于mysql时间作比较,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。


日期 字段 类型 字符 时间 字符串 查询 相同 分隔符 时候 格式 存储 情况 意义 数字 笔者 行业 表达式 便捷 字符型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 岛企网络技术有限公司 山西国产化服务器价钱 信息网络安全有关法律法规 c 删除数据库某行 常德软件开发专业 广东光纤网络技术开发服务价格 山西通讯软件开发设施标准 java常用数据库服务器 有关软件开发相关的一些名词 华为云服务器销售待遇 服务器防火墙安全 国际关系学院网络安全就业 数据库技术计算机三级好过吗 数据库面试问题及答案基础 plsql新增数据库 运营商网络安全保障措施 闵行区方便网络技术来电咨询 联想万全服务器 镜湖网络安全考试咨询 大专计算机网络技术考公务员多吗 全国网络安全协会联盟大事记 宝山区上门软件开发哪家好 文书档案数据库通用软件 读取车辆数据库 cad 数据库连接管理 商铺网络安全管理制度 查询数据库对应表的剩余空间 excel服务器每次打开要加载 郑州联通dns服务器 版本号在数据库的数据类型
0