SQL小汇总

SQL小汇总

1.对每个时段的数据进行统计
2.查询时间条件(to_date)
3.插入序列号和系统时间
4.查询当天、7天内、30天内
5.查询前后x小时、分钟、天、月。
6.保留小数点后4位
7.查询字段A中,长度大于30的数据

 


 

 

1.对每个时段的数据进行统计

select t.time, count(time) num from table1 t group by time order by time

 

2.查询时间条件(to_date)

 and start_time <= to_date('2018-10-17 10:50:00','yyyy-MM-dd hh24:mi:ss')

 

3.插入序列号和系统时间

insert into table1 value(sys_int_id,INSERT_TIME) values(SEQ_CONFIG_ID.nextval,sysdate)

 

4.查询当天、7天内、30天内

当天:
 and trunc(CREATE_TIME)=trunc(sysdate)  [今天00:00:00到现在]
 and CREATE_TIME >= sysdate-1 and CREATE_TIME <= sysdate  [昨天的现在到今天的现在]

7天内 : and CREATE_TIME >= sysdate-7 and CREATE_TIME <= sysdate

30天内: and CREATE_TIME >= add_months(sysdate,-1) and CREATE_TIME <= sysdate

 

5.查询前后x小时、分钟、天、月。。

当前时间,前x分钟: select sysdate, sysdate - x/(24*60) from dual;
当前时间,后x分钟: select sysdate, sysdate + x/(24*60) from dual;

当前时间,前x小时: select sysdate, sysdate - x/24 from dual;
当前时间,后x小时: select sysdate, sysdate + x/24 from dual;

当前时间,前x天: select sysdate, sysdate-3 from dual;
当前时间,后x天: select sysdate, sysdate+3 from dual;

当前时间,前x月: select sysdate, add_months(sysdate,-x) from dual;
当前时间,后x月: select sysdate, add_months(sysdate,x) from dual;

 

6.保留小数点后4位

--四舍五入:(结果:1.2346)
select round(1.2345555, 4) from dual;
--直接截取:(结果:1.2345)
select trunc(1.2345555, 4) from dual;

 

7.查询字段A中,长度大于30的数据

select * from table1 b where length(A)>30

 

posted @ 2018-10-17 10:59  一个小机灵  阅读(194)  评论(0编辑  收藏  举报