【Oracle数据库初级学习——常用函数篇】

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···
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值