sql按日期查询
⑴ 关于sql模糊查询日期时间的方法
有以下三种方法:
1、Convert转成String,在用Like查询
select * from table1 where convert(varchar,yourtime,120) like '2017-06-30%'
2、Between
select * from table1 where yourtime between '2017-06-30 0:00:00' and '2017-06-30 24:59:59'";
3、datediff()函数
select * from table1 where datediff(day,yourtime,'2017-06-30')=0
(1)sql按日期查询扩展阅读:
滚与上述日期格式的like模糊查询的注意事项
1、select * from T where sendTime like '%2007_12_%' 可以查询2007年12月的所有记录
如果like条件改为'%2007-12-%' ,'%2007_12_3%' ,或'%2007_12_30%' 都查不出数据。
2、select * from T where sendTime like '%12_30%' 可以查询12月30日的所有记录
如果like条件改为'%07_12_30%' 也查不出数据。
⑵ 如何在SQL中按时间段查询数据
sql server:
select * from 表 where 发生日期>'2008-7-1' and 发生日期<'2008-12-31'
access:
select * from 表 where 发生日期>#2008-7-1# and 发生日期<#2008-12-31#
这样就可以了,注意sql server与access中的日期有一点不一样。
(2)sql按日期查询扩展阅读:
sql查询日期语句
select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年的数手燃宏据
select * from ShopOrder where 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 *
FROM j_GradeShop
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')
AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)
ORDER BY GAddTime DESC
⑶ SQL语句怎么查询在某日期之前的数据
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”缺衡图标。
⑷ sql按时间条件查询如何写
用between有并唤个问题就是最后一天查询不到,也就是他的范围是[2011-1-1, 2011-2-1)也可以直接用>=和<=来查询,比如:select * from table where 时间>='2011-1-1' and 时间升睁<'绝笑凯2011-2-1'或者select * from table where 时间 between '2011-1-1' and '2011-2-1'
⑸ SQL 日期型查询
CaseSql="where month(开始日期)="&month(Request("开始日期"))&" and day(开始日期)>=1 and day(开始日期)<="&day(Request("开始日期"))
或者如果不用日期的,只用月份的
“where month(开始日期)=”&month(Request("开始日期"))
⑹ sql 如何查询同一个字段中,日期最近的那个记录
使用“order by 字段名 desc”对日期字段进行倒序排序即可。
sql语法:select * from 表名 order by 日期字段名 desc
其中,排序的时候order by 后面跟着需要进行排序的字段名,排序可以有两种,默认是asc升序(在sql中可以不写),如果希望降序排列的话,可以使用desc。如你想要最近的日期的话就只需要降序即可。
举例:如tpl_purchase_order 是我的订单表,该表有一个字段创建日期(字段名:CREDATE)是日期类型,衫告希望通过sql实现按照按照创建日期由近到远的顺序排列。
对应sql:select * from tpl_purchase_order order by credate desc;
sql执行后输出结果为:
注意:在以上或闷明的结果中有两罩颤个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
⑺ sql如何按日期中的月份查询
select * from 表名 where datepart(dd,时间字段)=要查询日期的天数 and
datepart(mm,时间字段)=要查询的月份
例如有个表t_cp 时间字段stime
select * from t_cp where datepart(dd,stime)=5 and datepart(mm,stime)=8
查询这个表中,8月5号的数据
⑻ SQL 如何查询日期在一定范围内的数据
查询方法:
select * from 表 where 日期>='20130101' and 日期<='20130130'。
(8)sql按日期查询扩展阅读:
SQL是一种查询功能很强的语言,只要是数清御据库存在的数据,总能通过适当的方法将它从数据库中查找出来。
SQL中的查询语句只有缺正尘一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。
完整的语法如下:
SELECT 目标表的列名或列表达式集合
FROM 基本表或(和)视图集合
〔WHERE条件表达式〕
〔GROUP BY列名集合〔HAVING组条件表达式〕〕
〔ORDER BY列名〔集合〕?〕
简单查询,使用TOP子句。
查询结果排序order by。
带条件的查询where,使用算术表达式,使用逻辑表达伏禅式,使用between关键字,使用in关键字,
模糊查询like。
网络—SQL数据库
⑼ sql语句按日期指定查询
这样就可以了啊:
1.select *
from table_name where 发生日期 between '2008-07-01'and '2008-12-31'
2.和上面同理哈
祝你好运!
⑽ 关于SQL模糊查询日期时间的方法
1、Convert转成String,在用Like查询。
select*fromtable1 whereconvert(varchar,yourtime,120) like '2017-06-30%'
2、Between
select*fromtable1whereyourtime between '2017-06-30 0:00:00' and '2017-06-30 24:59:59'";
3、datediff()函数
select*fromtable1 wheredatediff(day,yourtime,'2017-06-30')=0
(10)sql按日期查询扩展阅读
表达式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])
允许数据类型: timeinterval 表示相隔时间的类型,代码为:
年份 yy、yyyy 季度 qq、q
月份 mm、m
每年的某一日 dy、y
日期 dd、d
星期 wk、ww
工作日 dw
小时 hh
分钟 mi、n
秒 ss、s
毫秒 ms