Orcale系统函数的使用集合

SQL> select trim(trailing ’ ’ from ’ a aaaa bb cc aa caa cca a ') from dual;

TRIM(TRAILING’'FROM’AAAAABBCCAA

a aaaa bb cc aa caa cca a

SQL> select trim(bith ’ ’ from ’ a aaaa bb cc aa caa cca a ') from dual;

select trim(bith ’ ’ from ’ a aaaa bb cc aa caa cca a ') from dual

*

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> select trim(both ’ ’ from ’ a aaaa bb cc aa caa cca a ') from dual;

TRIM(BOTH’'FROM’AAAAABBCCA

a aaaa bb cc aa caa cca a

oracle中实现截取字符串:substr

函数形式:substr(string, start_position, [length])

函数说明:string是元字符串,start_position为开始位置,length是可选项,表示子字符串的位数。

举例:

substr(‘ABCDEFG’, 0); – 返回结果是:ABCDEFG,从0位开始截取后面所有

substr(‘ABCDEFG’, 2); – 返回结果是:BCDEFG,从2位开始截取后面所有

substr(‘ABCDEFG’, 0, 3); – 返回结果是:ABC,从0位开始往后截取3个字符长度

substr(‘ABCDEFG’, 0, 100); – 返回结果是:ABCDEFG,虽然100超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果

substr(‘ABCDEFG’, -3); – 返回结果是:EFG,如果是负数,则从尾部往前数,截取-3位置往后的所有字符串

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7EXjOyp2-1617298166775)(H:\Orcale作业提交\第五次作业\images\Snipaste_2021-04-01_21-32-32.png)]

查找字符串位置:instr

函数形式:instr(string, subString, [start_position, [nth_appearance]])

函数说明:其中,string是元字符串;subString是要查找的子字符串;start_position是要查找的开始位置,为可选项(默认为1),注意在这里字符串索引从1开始,如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance是元字符串中第几次出现的子字符串,此参数可选,缺省默认为1,如果是负数则系统报错。

举例:

instr(‘ABCDABCDAEF’, ‘AB’); – 返回结果是:1,因为instr字符串索引从1开始,所以是1不是0

instr(‘ABCDABCDAEF’, ‘DA’, 1, 2); – 返回结果是:8,返回第二次出现’DA’的位置

instr(‘A BCDABCDAEF’, ‘DA’, 1, 2); – 返回结果是:9,由于我在元字符串中加了一个空格,空格仍然算一个字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdO0QtOC-1617298166779)(H:\Orcale作业提交\第五次作业\images\Snipaste_2021-04-01_21-38-36.png)]

替换字符串:replace

函数形式:replace(str1, str2, str3)

函数说明:在str1中查找str2,凡是出现str2的地方,都替换成str3。

举例:

replace(‘ABCDEFG’, ‘CDE’, ‘cde’); – 返回结果是:ABcdeFG

replace(‘ABCDEFG’, ‘CDE’, ‘cde’); – 返回结果是:ABcdeFG

replace(‘ABCDEFG’, ‘CDE’, ‘’); – 返回结果是:ABFG,CDE被替换成空字符

replace(‘ABCDEFG’, ‘CDE’); – 返回结果是:ABFG,当不存在第三个参数时,CDE直接被删掉

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LPAm3IZZ-1617298166782)(H:\Orcale作业提交\第五次作业\images\Snipaste_2021-04-01_21-42-54.png)]

日期函数


sysdate

函数形式:select sysdate from dual;

函数说明:sysdate函数可以得到目前系统的时间

用法举例:

select sysdate from dual; 返回系统时间

select sysdate,add_months(sysdate,12) from dual; --加1年

select sysdate,add_months(sysdate,1) from dual; --加1月

select to_char(sysdate,'yyyy/mm/dd/day') from dual; to_char函数的另一种用法

select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期

select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天

select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时

select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual;–加1分钟

select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FHpOygGu-1617298166785)(H:\Orcale作业提交\第五次作业\images\Snipaste_2021-04-01_21-48-34.png)]

Oracle中的next_day(date,char)

函数样式:next_day(date,char)

函数说明:它是指指定日期date之后的下一个char天后的日期

当char是星期时:它是指下一周星期几(char)所指示的日期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mXaoXhvN-1617298166787)(H:\Orcale作业提交\第五次作业\images\Snipaste_2021-04-01_21-57-20.png)]

当char是数字时:他是指从这一周末开始的往后char天后的日期。周末算第一天

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rz2LnAKX-1617298166788)(H:\Orcale作业提交\第五次作业\images\Snipaste_2021-04-01_21-58-33.png)]

转换函数


to_char

  • 函数形式:to_char (number, '格式')
函数说明:使用to\_char函数处理数字  
to\_char(salary, $99,999.99);
  • 函数形式:to_char (date, '格式')
函数说明:使用to\_char函数处理日期  
to\_char(date, $99,999.99);
  • 数字格式格式:
9 代表一个数字  
0 强制显示0  
$ 放置一个$符  
L 放置一个浮动本地货币符  
. 显示小数点  
, 显示千位指示符

to_date

函数形式:to_date(char,'格式')

函数说明:to_data将字符转换为格式的日期日期格式

格式控制描述:

YYYY、YYY、YY 分别代表4位、3位、2位的数字年

YEAR 年的拼写

MM 数字月

MONTH 月的全拼

MON 月的缩写

DD 数字日

DAY 星期的全拼

DY 星期的缩写

AM 表示上午或者下午

HH24、HH12 12小时制或24小时制

MI 分钟

SS 秒钟

SP 数字的拼写

TH 数字的序数词

to_number

函数形式:to_number(char,‘格式’);

使用to_number函数将字符转换为数字

更多的格式控制

统计函数


函数形式:select avg|count|max|min|sum(column) from tablename;

函数说明:column是列名称,tablename是表格名称

  • avg : 求某一列的平均值
  • count:求表tablename的行数
  • max:求column列中最大的数值
  • min:求column列中最小的数值
  • sum:求column列数值的和

举例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3fnCHn69-1617298166789)(H:\Orcale作业提交\第五次作业\images\Snipaste_2021-04-02_00-59-01.png)]

其他函数


decode

函数形式:decode(条件,值1,翻译值1,值2,翻译值2,...,缺省值)

函数说明: 该函数与程序中的 If…else if…else 意义一样,

select decode(列名,值1,表达式1,值2,表达式2,......,值n,表达式n) from table

列名就是table中某一列的名称,在这里将充当条件,即:如果某一行的该列的字段值等于值1则返回表达式1的值,等于值2则返回表达式2的值。

nal

函数格式:nal( string1, replace_with)

函数功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。

user

  • 用户创建
`必须是sysdba的身份才可以创建 create user 用户名 identified by 密码;`
  • 查看当前用户
`show user`
  • 改用户密码
`alter user 用户名 identified by 密码;`
  • 用新用户连接数据库
**`必须给新用户授权能够连接数据库会话的权限`**  
`grant create session to 用户名;`
  • 删除用户
**`先必须用sysdba身份登录数据库`**  
`drop user 用户名;`  
create user 用户名 identified by 密码;\`
  • 查看当前用户
`show user`
  • 改用户密码
`alter user 用户名 identified by 密码;`
  • 用新用户连接数据库
**`必须给新用户授权能够连接数据库会话的权限`**  
`grant create session to 用户名;`
  • 删除用户

最后

希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
划,来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

[外链图片转存中…(img-GsUV3v8H-1715681184117)]

好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

[外链图片转存中…(img-WTIuR233-1715681184121)]

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 16
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值