sql记录

本文介绍了SQL查询中的日期时间函数如BETWEEN、TRUNC以及GROUPBY、ORDERBY、LIMIT的使用,强调了WHERE条件的顺序和防止SQL注入的方法。还详细讲解了如何利用TRUNC函数进行精确和不精确的日期截断操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.取当日全天时间  

BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + INTERVAL '1' DAY - INTERVAL '1' SECOND

2.取当年、当月、当日

YEAR(NOW())、MONTH(NOW())、DAY(NOW())

3.select 后面可以用很多个临时表关联查出数据,不同部门单位也可以直接用GROUP BY 分组解决

4.where条件后面顺序关系  

GROUP BY  >  ORDER BY   

5. LIMIT

limit可以限制取到的数据数量,先ORDER BY 排序再limit取数量

6.where 1=1

where 1=1 在一定程度上防止sql注入

7.TRUNC

trunc()函数用于对值进行截断   

        对数字截断:TRUNC(n1,n2)------->n1表示被截断的数字,n2表示要截断到的那一位,n2可以是负数,表示截断到小数点前

        对日期截断:trunc(sysdate,n)----------------sysdate是当前时间到秒,n是具体的时间状态(截取到哪个时间节点)

1.select trunc(sysdate) from dual  --2011-3-18  今天的日期为2011-3-18
2.select trunc(sysdate, 'mm')   from   dual  --2011-3-1    返回当月第一天.
3.select trunc(sysdate,'yy') from dual  --2011-1-1       返回当年第一天
4.select trunc(sysdate,'dd') from dual  --2011-3-18    返回当前年月日
5.select trunc(sysdate,'yyyy') from dual  --2011-1-1   返回当年第一天
6.select trunc(sysdate,'d') from dual  --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual   --2011-3-18 14:00:00   当前时间为14:41  
8.select trunc(sysdate, 'mi') from dual  --2011-3-18 14:41:00   TRUNC()函数没有秒的精确
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值