Oracle-23-单行函数之日期函数

一、单行函数之日期函数

1.trunk(x[,y])——x进行截断;

2.round(x[,y])——x进行取整;

3.next_day(x,day)——返回从x开始,一个day的日期;

4.months_between(x,y)——返回xY之间的差值;

5.last_day(x)——返回包含该月的最后一天;

6.add_months(x,y)——返回x加上y个月后的结果。

1:查询当前系统日期

解:注意sysdate的用法:


注意Oracle默认日期格式:dd-mon-yy

 

2:练习add_months函数

解:在当前系统时间基础上加1个月:


 

3:练习last_day函数

解:last_day(sysdate)即为当前系统时间所在月的最后一天,比如例1得到当前系统时间为06-4月-16,那么所在月份为4月,最后一天为30日,即30-4月-16。


 

4:查看当前系统所在月的下个月的最后一天。

解:



5练习next_day函数

解:


当前系统时间是16年4月6日,那么next_day(sysdate,5)计算的是16年4月6日所在星期的第5天的日期,所在星期默认从周日(16年4月3日)开始算第1天,则第五天是周四,也就是16年4月7日。


 

5:练习moths_between函数

解:计算月份之间的差值


 

6:练习round函数

解:


round函数说明】

1round(sysdate,’yyyy’)中的yyyy是按照开始取整;

2round如果按照来取整,那么对于1-6月的四舍7-12月的五入比如16年6月,round取整就是16年1月,如果16年9月,round取整就是17年1月;

3round如果按照来取整,那么对于1-15日的四舍16-31日的五入比如16年6月15日,round取整就是16年6月1日,如果16年6月30日,round取整就是16年7月1日。

 

7:练习trunc函数

解:


trunc函数说明】

1trunc(sysdate,’yyyy’)中的yyyy是按照开始截断;

2trunc如果按照来截断,那么直接将全部切掉,改成11日,没有四舍五入一说,直接切。比如16年6月1日,trunc截断就是16年1月1日;

3trunc如果按照来截断,那么直接将切掉,改成1日,没有四舍五入一说,直接切。比如16年6月15日,trunc截断就是16年6月1日。

 

三、单行函数之转换函数

在写SQL语句的时候,可能希望一个值从一种数据类型转换为另一种数据类型,我们就可以用Oracle中的转换函数来实现,这样子可以避免编写程序实现,进一步提高SQL语句的性能和效率。

 

1.bin_to_num(x)——x转换为一个二进制数;

2.chartorowid(x)——x转换为rowid类型,rowid长度为18位;

3.rowidtochar(x)——rowid x转换为一个varchar2类型的字符;

4.rowidtonchar(x)——rowid x转换为一个nvarchar2类型的字符;

5.to_char(x[, format])——x转换为一个varchar2字符串,format

可选参数,用来指定x的格式;

6.to_date(x[, format])——x转换为一个DATEformat为可选参数,用来指定x的格式;

7.to_number(x[,format])——x转换为一个numberformat为可选参数,用来指定x的格式。

 

8:练习to_char函数。

解:


注意上图中的命令。

 

9:练习to_date函数

解:如果现在有一个日期表,格式固定,那么insert into语句在插入数据时候可能出现错误,这时候就需要to_date函数格式化日期,然后才能正确插入日期数据。


报错原因是与系统默认格式不匹配。如果加上自定义格式,如下:


或者就按照系统默认日期格式插入数据,如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值