where 1=1
1.条件永远为真
2.例如,当我们要删除客户名称为“张三”的记录,我们可以这样写:
delete from customers where name='张三'
这个时候如果在where语句后面加上 or 1=1会删除所有记录
delete from customers where name='张三' or 1=1
COUNT(1) ,COUNT(*) ,COUNT(字段)
COUNT(1) ,COUNT(*) 区别:
COUNT(1) :记录所有记录,包括为null的数据,
COUNT(字段) :只记录有数据的内容,不包括null
COUNT(*):记录所有数据,相当于行数
grep 'inter_IOperateRBossCSV_submitExtOrder' *20230718*|wc -l
##查找搜索出含有 'inter_IOperateRBossCSV_submitExtOrder' 且不包含20230718的数据
grep -niA 5 'inter_IOperateRBossCSV_submitExtOrder' *20230718*
##查找搜索出含有 'inter_IOperateRBossCSV_submitExtOrder' 且不包含20230718的数据,显示行数,忽略大小写,显示行号
sysdate 显示日期
sysdate 1/60
trunc(sysdate)当天日期
30分钟:sysdate+1/48
1个小时:sysdate+1/24
一天:sysdate+1
一个星期: sysdate+7
每个星期五中午:
NEXT_DAY(TRUNC(SYSDATE),'星期五') + 12/24
一个月:add_months(sysdate,1) --可以为正负数
一年:add_months(sysdate,12)
月份加减:select to_char(add_months(sysdate-1),'yyyymm') from dual;
日期加减:select to_char(sysdate-1,'yyyymmdd') from dual;
select sysdate from dual;得到是当前时间。如果不加任何转化的话,默认的天。
select syddate+1 from dual;--后一天
select sydate-1 from dual;--前一天
select sysdate+30/60/24 from dual;--后30分钟
select sysdate-30/60/24 from dual;--前30分钟
即把时间转化为以天为单位来和sysdate做运算。
select sysdate +(或-) 你要的秒数/60/60/24 <一天=60*60*24。然后你可以把“你要的秒数/60/60/24”变成一个分数就完了。比如30分钟的话= 30*60/60/60/24 = 1楼的1/48
用sysdate-1
这个1的单位是天 sysdate-1也就是昨天
sysdate+1/24 也就是hou一个小时
一天24个小时嘛
那么要30分钟
就是sysdate-1/24/2了