SQL中Between查询日期的问题
SQL中Between查询日期的问题
SQL中Between查询日期的问题一、sql between and 取值范围
oracle、mysql、sql server 数据库:大于或等于 begin 的值并且小于或等于 end 的值
二、SQL中Between查询日期的常见几个问题
1、某个表某个字段是Datetime型 以"YYYY-MM-DD 00:00:00" 存放
(1)、例如数据
2009-01-22 21:22:22
2009-01-22 19:21:11
2009-01-22 23:10:22
(2)、用 select * from TABLE where date between '2009-1-22' And '2009-1-22' ,想查日期为2009-1-22的记录,结果查不到
(3)、问题原因
短日期类型默认Time为00:00:00,所以当使用between作限制条件时,就相当于between '2009-1-22 00:00:00' and '2009-1-22 00:00:00',因此就查不出数据。
(4)、解决方法
create table tb(id varchar(1),riqi datetime)
insert into tb values('A' , '2009-01-22 21:22:22')
insert into tb values('B' , '2009-01-22 19:21:11')
insert into tb values('C' , '2009-01-22 23:10:22')
go
--方案一:对数据库里面的字段进行日期格式转换
select * from tb where convert(varchar(10),riqi,120) = '2009-01-22'
--方案二:给日期补全时分秒
select * from tb where riqi between '2009-01-22 00:00:00' and '2009-01-22 23:59:59'
--结果
/*
id riqi
---- ------------------------------------------------------
A 2009-01-22 21:22:22.000
B 2009-01-22 19:21:11.000
C 2009-01-22 23:10:22.000
(所影响的行数为 3 行)
*/
2、某个表某个字段是Datetime型 以"YYYY-MM-DD" 存放
(1)、例如数据
2009-01-22
2009-01-23
2009-01-24
(2)、用 select * from TABLE where date between '2009-1-22 00:00:00' And '2009-1-24 23:59:59' ,想查日期为 2009-1-22 到 2009-1-24 的记录,结果查不到 2009-01-22 的记录
(3)、解决方法
select * from TABLE where date between convert('2009-1-22 00:00:00',riqi,120) And '2009-1-24 23:59:59'
备注:因为有的编程语言传入日期字段时,默认是带 时分秒 '00:00:00',所以需要在数据库中的SQL语句中转换,去掉时分秒。
即确保最终的SQL语句为:
select * from TABLE where date between '2009-1-22' And '2009-1-24 23:59:59'
- mysql获取当前日期时间(MySQL DATEDIFF函数获取两个日期的时间间隔的方法)
- mysqlint后面的4是什么意思(MySQL中intn后面的n到底代表的是什么意思)
- mysql数据库下载安装步骤(MySQL数据库压缩版本安装与配置详细教程)
- 2015-10-1
- sql server 判断 null
- mysql查询数据去除重复(MySQL 大批量插入,如何过滤掉重复数据?)
- mysql中数据类型的学习体会(MySQL 实现lastInfdexOf的功能案例)
- mysql数据表实例教程(mysql数据库入门第一步之创建表)
- sql两列内容合并(分组字符合并SQL语句 按某字段合并字符串之一简单合并)
- 在mysql中如何授权(MySQL 角色role功能介绍)
- 在sqlserver中如何看表格的类型(SQL Server 中的数据类型隐式转换问题)
- sql server使用手册(SQL Server连接查询的实用教程)
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因(SQLServer数据库中开启CDC导致事务日志空间被占满的原因)
- php连接mysql需要数据源吗(php连接mysql数据库最简单的实现方法)
- mysql的字符串截取函数(MySQL实现字符串的拼接,截取,替换,查找位置的操作)
- sqlserver数据库实时同步(SQL Server实时同步更新远程数据库遇到的问题小结)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
- 菲律宾特产(菲律宾特产最值得买回国)
- 越南特产(越南特产首饰)
热门推荐
- vue3 props用法(vue3组合API中setup、 ref、reactive的使用大全)
- vue购物车简单项目(vue实现简单购物车案例)
- sqlserver存储过程同步数据(SQL Server存储过程同时返回分页结果集和总数)
- php实现异步操作(php提供实现反射的方法和实例代码)
- python3.7.2 详细安装教程(python3.5安装python3-tk详解)
- 织梦dedecms优化安全设置指南(DeDecms SEO优化经验谈适用于任何网站)
- linuxcrontab怎么不执行(Linux crontab 命令的使用)
- css背景的属性有哪些(简述CSS中的背景属性background)
- dede联动菜单样式(dede添加自定义属性完美解决方案)
- 使用canvas的好坏(关于canvas绘制模糊问题的解决方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9