Oracle函数学习1

  1. 单行函数

a.字符串连接

  • concat()

select concat('hello','你好') from dual;===hello你好

  • || 管道通道符   

select 'hello'||'你好' from dual;===hello你好

  • INSTR(x, str [,start] [,n)   在 x 中查找 str,可以指定从 start 开始,也可以指定从第 n 次开始。

INSTR('Hello world', 'or')===8

b.取子字符串

  • substr()

substr('helloab你好cdef,5,3)===oab

c.字符首次出现位置

  • instr() 对大小写敏感

instr('helloworld','o')==5

d.去移除字符串两侧的空白字符或其他预定义字符

  • trim()

   trim('o' from 'ooabcoddefoo')===abcoddefoo

  • ltrim() - 移除字符串左侧的空白字符或其他预定义字符。

  • rtrim() - 移除字符串右侧的空白字符或其他预定义字符。

e.不足指定位数,补位指定字符

  • lpad 左补

lpad('hello',10,'#")=== #####hello

  • rpad右补=====hello#####

f.计算时间单行函数

add_month  上个月的今天

next_day(sysdate,'星期*)  下个周几几号

next_day(next_day(sysdate,'星期三'),'星期三') 下下个周三是几号

last_day(sysdate)  当前月份最后一天几号

g.保留指定位小数

  • round()四舍五入

round(3.1415,3)===3.142

  • trunc() 不四舍五入

trunc(3.1415,3)===3.121

h.NVL()函数

NVL(x,value) 若x为空,返回value,否则返回x

nvl2(x.value1,value2) 若x为空,返回value2,否则返回value1

i.获取日期中某个字段值

extract()

select  extract(year from sysdate) 'year' from dual;

j.trunc(n,[m]) 该函数用于截取数字。
如果省掉m,就截去小数部分,
如果m是正数就截取到小数点的m位后,
如果m是负数,则截取到小数点的前m位。
eg、SELECT trunc(23.75123) FROM dual; –返回23
SELECT trunc(23.75123, -1) FROM dual; –返回20
SELECT trunc(23.75123, -3) FROM dual; –返回0
SELECT trunc(23.75123, 1) FROM dual; –返回23.7
SELECT trunc(23.75123, 2) FROM dual; –返回23.75
SELECT trunc(23.75123, 3) FROM dual; –返回23.751

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值