Ⅰ select语句如何查找某个时间段的数据
select语句查找某个时间段的数据操作方式,如:select * from your_table where date_field between #startdate# AND #enddate#我们可以看到在上面这句sql查询代码中有两个时间变量,一个是startdate,一个是enddate。
设置的内容如:startdate为2013-11-20,enddate为2013-11-29。
那么这句查询就会变成:select * from your_table where date_field between ‘2013-11-20’ AND ‘2013-11-29’。其实是查询2013-11-20日至2013-11-29两个时间段之间的所有数据。
系统查询语句读取为:select * from your_table where date_field between ‘2013-11-20 00:00:00’ AND ‘2013-11-29 00:00:00’,有一数据是2013-11-2913:23:45,那么该数据将不会列入查询结果范围里。
(1)sql获取某两个时间内的数据扩展阅读:
SELECT语句返回用指定的条件在一个数据库中查询的结果,返回的结果被看作记录的集合。
语法:SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]} FROM tableexpression [, ...] [IN externaldatabase] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] [WITH OWNERACCESS OPTION]
说明:predicate可选参数,该参数可取值为ALL(缺省值)、DISTINCT、DISTINCTROW 或TOP。如果该参数为ALL,则返回SQL语句中符合条件的全部记录;如果为DISTINCT,则省略选择字段中包含重复数据的记录;如果为DISTINCTROW,则省略基于整个重复记录的数据,而不只是基于重复字段的数据;如果为TOP n(n为一个整数),则返回特定数目的记录,且这些记录将落在由 ORDER BY 子句指定的前面或后面的范围中。
Ⅱ SQL里面怎么取2个时间的中间数据
最好用between
http://sql.1keydata.com/cn/sql-between.php
Ⅲ SQL语句查询特定时间段的数据怎么写
SQL服务器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
访问:
从表中选择发生日期>#2008-7-1#和发生日期<#2008-12-31#
就是这样:注意,SQLserver中的日期和访问有一点不同。
(3)sql获取某两个时间内的数据扩展阅读:
SQL查询日期语句
Select*fromShopOrderwheredatediff(week,ordTime,getdate()-1)=0//查询第一年的日期
Select*fromShopOrder,其中datediff(day,ordTime,getdate()-1)=0//查询当天的所有数据
SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天
SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 //上个月
搜索当天记录的其他方法:
SELECT*
FROMj_GradeShop
其中(GAddTimeBETWEENCONVERT(datetime,LEFT(GETDATE(),10)+'00:00:00.000'))
并转换(datetime,LEFT(GETDATE(),10)+'00:00:00.00.000')+1)
由GAddTime指定的订单
Ⅳ SQL 如何查询日期在一定范围内的数据
select * from 表 where 日期字段>='开始日期' and 日期字段<='截止日期' and convert(char(8),日期字段,108)>='开始时间' and convert(char(8),日期字段,108)<='截止时间'。
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'。
例如:
select * from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15'
and convert(char(8),dDate,108)>='8:00:00' and convert(char(8),dDate,108)<='9:00:00'.
select * from table1where year(d)=2010 and month(d)=7 and day(d) between 1 and 31
and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)
(4)sql获取某两个时间内的数据扩展阅读:
SQL查询日期:
今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0
昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1
7天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7
30天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30
本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0
本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0
参考资料:SQL_网络
Ⅳ sql中查出两个日期之间的数据
查出两个日期之间的数据的sql示例:
select * from table_name where date>'2010-1-1' and data<'2010-5-1';
其中table_name是表名,date是日期字段,and符号表示且,连接两个日期表示既满足大于2010-1-1又满足小于2010-5-1,在两个之间的数据。
(5)sql获取某两个时间内的数据扩展阅读
常用查询sql语句介绍:
1、查看表结构
SQL>DESC emp;
2、 查询所有列
SQL>SELECT * FROM emp;
3、查询指定列
SQL>SELECT empmo, ename, mgr FROM emp;
SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项
4、 查询指定行
SQL>SELECT * FROM emp WHERE job='CLERK';
5、使用算术表达式
SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp;
Ⅵ 怎么样获取sql server 数据中某个时间段里面的全部数据
在服务器上装上sql
server
2005,基本上装载时选择默认的就可以了。然后,关掉windows防火墙(最好设置一下),在数据库外围配置器中选择【服务和连接的外围应用配置器】,再选择【远程连接】
选择【本地连接和远程连接】,选择【同时使用
tcp/ip和named
pipes】。这个默认是不启用的。
Ⅶ 用sql语句查询两个时间段的数据
为了避免订单有导入的日期格式冲突,在作时间比较的时候需要将前后两个日期都转换
select * from order a where Convert(date,a.OrderDate)>=Convert(date,【datetime1.value】)
and Convert(date,a.OrderDate)<=Convert(date,【datetime2.value】)
Ⅷ sql怎么查询指定时间段内包含某个内容的所有数据
sql server
SELECT * FROM 表名 WHERE datepart(hour,tm)=12 and datepart(minute,tm)=0 and datepart(second,tm)=0 and datediff(month,tm,getdate())<1
access:用now()代替getdate()
oracle:用sysdate代替getdate()
Ⅸ SQL语句,取指定时间段内的数据
你数据库里面的 DATA_TIME 的数据类型是什么?
varchar 类型的?
还是 datetime 类型的?
你程序中传递的日期格式, 又是什么格式?
是 yyyymmdd 的? 例如 20131029
还是 yyyy-mm-dd 的? 例如 2013-10-29
还是 yyyy/mm/dd 的? 例如 2013/10/29
Ⅹ sql 求两个日期内一列数据的和
看样子像sqlserver,你每个时间都是不一样的,当然不能汇总,你是要按日汇总的话,需要对日期进行转换,比如
selectconvert(varchar(10),crtime,120)时间,sum(cnum)总和fromcaiwuwherectimebetween'2018-09-0808:12:05.000'and'2018-09-1208:12:05.000'groupbyconvert(varchar(10),crtime,120)