当前位置:网站首页>MySQL中字符串比较大小(日期字符串比较问题)
MySQL中字符串比较大小(日期字符串比较问题)
2022-08-01 14:22:00 【程序员超时空】
MySQL中字符串比较大小(日期字符串比较问题)
数据库中在对于数字与非数字混合的字符串,在进行大小比较的时候,如果两字符串长度相等,那么两字符串就会比较相同位置的字符,比较时若字符是数字,则直接比较,若字符是非数字那么会转换为ascii码进行比较,若在某位置上已经有大小之分,那么就不会再进行比较。
如上所述,当字符串用于比较时间格式数据进行时间维度的比较时会出现问题。如以下sql进行查询时
select * FROM work_day_content as wdc WHERE wdc.work_day >= '2019-09-30 00:00:00' AND wdc.work_day<= '2019-10-06 00:00:00'
图1-1
如图1-1所示,没有查询出任何条件
当使用日期函数把字符串转化为日期时
select * FROM work_day_content as wdc where date(wdc.work_day) >= date('2019-09-30 00:00:00' ) AND date(wdc.work_day)<= date('2019-09-30 00:00:00' )
图1-2
如图1-2所示,查出了符合条件的数据
分析为何第一个sql语句没有查询出内容。由于该字段使用的是字符串形式存储,因此此时比较大小采用的是字符串方式比较大小。
字符串方式比较大小是从左往右进行匹配。对于长度不同的字符串进行匹配时。较短字符串比较完后还没有大小之分。则较长的字符串较大。如下面sql所示
select '2019-09-30 ' < '2019-09-30 00:00:00'
发现此时**字符串’2019-09-30 00:00:00’**较大。因此之前的sql没有查出日期为2019-09-30的数据
因此。在使用字符串表示时间时,需要使用时间函数进行比较。
sql提供的时间函数有:date(), str_to_date()
另外,在mysql当中,字符串类型间进行加减乘除运算的时候,会截取字符串以数字开头的那一部分数字进行运算,如果字符串前面没有数字,那么就只能截取的数值为0,那么进行加减的时候结果都是0,进行乘除的时候结果都是NULL。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 易优压双驱挖掘机压路机器类网站源码 v1.5.8
- The problem that the column becomes indexed after pd groupby and the aggregation column has no column name
- [深入研究4G/5G/6G专题-47]: 5G Link Adaption链路自适应-3-下行链路自适应DLLA-PDSCH信道
- 【每日一题】952. 按公因数计算最大组件大小
- 170页6万字智慧能源管理平台建设方案书
- Two Permutations
- 响应式2022英文企业官网源码,感觉挺有创意的
- A Beginner's Guide to Performance Testing
- [Binary Tree] Path Sum II
- 股票预测 lstm(时间序列的预测步骤)
猜你喜欢
随机推荐
ECCV 2022|R2L: 用数据蒸馏加速NeRF
The default database main key, foreign key, and the only key index
[Binary Tree] Path Sum II
珠海首个水环境安全监测系统上线
十九届浙大城院程序设计竞赛 F.Sum of Numerators(数学/找规律)
win10+Qt5.15.2实现低功耗蓝牙控制
【无标题】
redis主从同步方式(redis数据同步原理)
性能优化——动画优化笔记
The role of the final keyword final and basic types, reference types
【5GC】5G网络切片与5G QoS的区别?
龙口联合化学通过注册:年营收5.5亿 李秀梅控制92.5%股权
大佬们,datax同步数据,同步过程中要新增一个uuid,请问column 怎么写pgsql,uu
The problem that the column becomes indexed after pd groupby and the aggregation column has no column name
Chat technology in live broadcast system (8): Architecture practice of IM message module in vivo live broadcast system
xmind2testcase:高效的测试用例导出工具
2022-07-29 网工进阶(二十二)BGP-其他特性(路由过滤、团体属性、认证、AS欺骗、对等体组、子路由器、路由最大接收数量)
你真的会测试用户登录吗?
fh511小风扇主控芯片 便携式小风扇专用8脚IC 三档小风扇升压芯片sop8
Performance Optimization - Resource Optimization Notes