ORACLE数据库常用函数的学习与使用笔记
众所周知Oracle数据库是一款性能不差的又很经典的商业数据库。不过唯一不足的就是它不够亲民,而且使用的费用不低,一般开发者学习是没有足够资金进行使用的。有幸这次借来了Oracle数据库,初步试了一试:
毕竟是初次接触Oracle数据库,有语法错误也请大家多多指正,当然,自己后期也会不断完善和修改自己这篇博文的!
--dual是数据库系统中的一个任意表;
--NVL 为空的时候,返回一个字符
SELECT NVL(null,0) from dual;
--NVL2() 为空的时候,返回一个字符,不为空的时候,返回另外一个字符;
SELECT NVL2('','BB','CC')FROM dual;--空字符串就是NULL
--decode函数,起到了类似于一个switch分支函数的作用:
SELECT decode('', 1,'A',2, 'B',3 ,'C','Z')FROM dual;
--默认是没有返回
SELECT decode(6, 1,'A',2, 'B',3 ,'C') from dual;
--作用类似于以下面的这段代码:
select
case when 1 = 1 then 'A'
when 2 = 2 then 'B'
when 3 = 1 then 'C'
else 'E'
end
FROM DUAL;
--TO CHAR 转换为字符的函数,这里将系统时间,转换类型为字符串;
SELECT to_char(sysdate, 'YYYY/MM-DD HH24:MI:SS')from DUAL;
--TO DATE 将其它类型转换回日期类型
SELECT to_date('2022-07-29 16:07:06','YYYY/MM-DD HH24:MI:SS')from DUAL;
--字符串截取,a是第一位,函数中表示的
select substr('abcdefg',2,4)from dual;
--
select substr('abcdefghig',3, LENGTH('abcdefghig')-3+1)from dual;
--截掉后*位
select substr('abcdefghig',1, LENGTH('abcdefghig')-3)from dual;
--TO_NUMBER 从第二个找后面的'b'在第几位;
select instr('abcdefbghig','b',4)from dual;
--
select instr('abcdefbghig','b',select instr('abcdefbghig','b',4)from dual+1;)from dual;
--套娃检索字符串中的第二次出处;
select instr('abcdefbghig','b',instr('abcdefbghig','b')+1) from dual;
--小数的三位:3.141
select TRUNC(3.1415926,3)from dual;
--保留整数的三位:1110000
select TRUNC(111113.1415926,-3)from dual;
--
select TRUNC(sysdate,'YYYY')from dual;
select TRUNC(sysdate,'MI')from dual;
select TRUNC(sysdate,'MM')from dual;
--上下取整的函数
--向上取整:12346
select CEIL(12345.01*10)/10 from dual;
select CEIL(12345.01)from dual;
select FLOOR(12345.5)from dual;
select ROUND(1234.567,2)from dual;--1234.57
select ROUND(1234.567,-2)from dual;--1200
select TRUNC(sysdate,'YYYY')from dual;
select TRUNC(sysdate,'MM')from dual;
--
select LOWER('abc_def_EHI')from dual;
select UPPER('abc_def_EHI')from dual;
--往数据库转换的时候,输入大写
select COL1 FROM T1 WHERE UPPER(COL1) = UPPER(:keyword)
--
select ('ABCDEF ') FROM T1 WHERE UPPER(COL1) = UPPER(:keyword)
select TRIM (' ABCDEF ') FROM dual;
select TRIM (' ') FROM dual;--null
--系统时间增加一日
select add_months(sysdate,1) FROM dual;
select add_months(to_date('2022/08/28','YYYY/MM/DD'),1) FROM dual; --
select sysdate + 1 / 24 from dual;
```css
未完待续
loading···