sql时间查询语句
select*,max(create_time)froma
wherecreate_time<="2017-03-2919:30:36"
groupbyuser_id
这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。
(1)sql时间查询语句扩展阅读:
SQL数据查询语句
1、语句语法简单归纳为:
SELECTselect_list[INTOnew_table_name][FROMtable_source]
[WHEREsearch_condition][GROUPBYgroup_by_expression]
[HAVINGsearch_condition][ORDERBYorder_expression[ASC|DESC]]
2、WITH子句用于指定临时命名的公用表达式,在单条语句(SELECT、INSERT、UPDATE、DELETE)的语句执行范围内定义。
3、LIKE关键字
用于模糊查询,通配符有%、_、[]、[^]
%:后面可以跟零个或多个字符
_:匹配任意单个字符
[]:查询一定范围内的单个字符,包括两端数据
[^]:表示不在一定范围内的单个字符,包括两端数据
Ⅱ SQL语句查询特定时间段的数据怎么写
SQL服务器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
访问:
从表中选择发生日期>#2008-7-1#和发生日期<#2008-12-31#
就是这样:注意,SQLserver中的日期和访问有一点不同。
(2)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中按时间段查询数据
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中的日期有一点不一样。
(3)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模糊查询日期时间的方法
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
(4)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
Ⅳ SQL中查询日期语句
SQL SERVER:
用函数datepart处理就可以了,示例:
select datepart(weekday,getdate()) as 周内的第几日
select datepart(week,getdate()) as 年内的第几周
select datepart(quarter,getdate()) as 年内的第几季
周内的第几日
-----------
5
(所影响的行数为 1 行)
年内的第几周
-----------
34
(所影响的行数为 1 行)
年内的第几季
-----------
3
(所影响的行数为 1 行)
Ⅵ 关于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
(6)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语句中条件为日期时间型的查询表达式怎么写
1.直接用字符串可自动转换为datetime;
2.先转换为Datetime再与字段比较。
不知道易语言中字符串连接用什么符号,如果是加号,这么写:
临时记录集.打开 ("select 日记标题 from 日记表 where 日记日期= #" + 日记日期1 +"# ", #SQL语句)
Ⅷ SQL中两个日期的查询语句怎么写
1、创建测试表,
create table test_date(id int, v_date date);