oracle学习(使用了PL/SQL)——3

今天主要是写一些常用的函数,就当复习一遍,偶尔还能看一下
1.字符函数

函数名函数功能实例
ASCII返回指定的字符(第一个字符)对应的十进制数select ascii(‘hello’) from dual;
CHR参数为整数,表示某个字符的Unicode码,返回对应的字符CHR(50403)
INITCAP返回字符串并将字符串的第一个字母变为大写,其余变为小写INITCAP(‘hello’)
INSTR在一个字符串中搜索指定的字符,返回发现指定的字符的位置INSTR(‘hello’,’e’,1,1)[参数3:查找起始位置。参数4:第几次出现。3,4都可选]
LENGTH返回字符串的长度LENGTH(‘hello’)
LOWER返回字符串。并将所有字符小写LOWER(‘HELLO’)
UPPER返回字符串。并将所有字符大写UPPER(‘hello’)
RPAD在列的右边粘贴字符RPAD(‘hello’,10,’汪汪v’)[参数1:原字符串;参数2:补充后达到的个数;参数3:补充的字符]
LPAD在列的左边边粘贴字符LPAD(‘hello’,10,’汪汪v’)
LTRIM删除字符左面的字符串LTRIM(‘hello’,’h’)[从最左边开始]
RTRIM删除字符右面的字符串RTRIM(‘hello’,’lo’)[结果:he]
TRIM删除字符串两边的空格,如删除字符串两边的空格TRIM(’ hello ‘)
SUBSTR取子字符串SUBSTR(‘hello world’,3,5)[参数3可选]
REPLACE将一个字符串中的子字符串替换成其他的字符串REPLACE(‘hello world’,’l’,’www’)
CONCAT连接两个字串concat(‘3071’,’88888’)
INITCAP首字符大写initvap(‘hello world’)

2、日期函数

函数名函数功能实例
HH一天的小时数 (01-12)
HH12一天的小时数 (01-12)
HH24一天的小时数 (00-23)
MI分钟 (00-59)
SS秒 (00-59)
MS毫秒 (000-999)
US微秒 (000000-999999)
SSSS午夜后的秒 (0-86399)
AM 或 A.M. 或 PM 或 P.M.正午标识(大写)
am 或 a.m. 或 pm 或 p.m.正午标识(小写)
Y,YYY带逗号的年(4 和更多位)
YYYY年(4和更多位)
YYY年的后三位
YY年的后两位
Y年的最后一位
SYSDATE用来得到系统的当前日期select sysdate from dual;
ADD_MONTHS增加或减去月份add_months(sysdate,2)
LAST_DAY返回日期的最后一天LAST_DAY(to_date(‘2017/08’,’yyyy-mm’))[结果:2017/8/31]
MONTHS_BETWEEN(date2,date1)给出date2和date1相差的月份
NEXT_DAY(date,’day’)给出日期date和星期x之后计算下一个星期的日期next_day(sysdate,’星期三’)[结果:2017/11/1 22:46:10]
trunc(date,fmt)按照给出的要求将日期截断,如果fmt=‘mi’表示保留分,截断秒trunc(sysdate,’hh’)
MONTHS_BETWEEN显示日期相差的月数MONTHS_BETWEEN(sysdate,add_months(sysdate,2))[结果:-2]

3.转换函数

函数名返回类型函数功能
to_char(timestamp,text)text把timestamp转换成string
to_char(int,text)text把 int4/int8 转换成string
to_char(doubleprecision, text)text把 real/double precision 转换成string
to_char(numeric,text)text把 numeric转换成 string
to_date(text,text)date把string转换成date
to_timestamp(text,text)date把string转换成timestamp
to_number(text,text)numeric把string转换成numeric

4.其他函数

函数名函数功能实例
UID返回标识当前用户的唯一整数select UID from dual;[结果:81 此时登录用户为scott]
USER返回当前用户的名字select USER from dual;[结果:scott]
NVL(expr1, expr2)NVL(expr1, expr2)表示如果expr1为NULL,返回expr2;不为NULL,返回expr1。注意expr1和expr2两者的类型要一致select nvl(comm,100) from emp;
NVL2 (expr1, expr2, xpr3)expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2)expr1和expr2相等返回NULL,不等返回expr1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值