Day02

Day02

一、对数字操作的函数

1、round
  • round(参数1,参数2):四舍五入

  • 参数1代表四舍五入的字段,参数2代表精确度(-1代表十位,0代表个位)

  • select total,round(total,0) from s_ord

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z46I1Bb8-1662017013406)(C:\Users\PC\AppData\Local\Temp\1661998861250.png)]

2、trunc(将数字截尾取整)
  • trunc(参数1,参数2):截取

  • 参数1代表截取的字段,参数2代表精确度的位数。

  • round 有四舍五入 trunc 直接舍去

  • select total,trunc(total,0) from s_ord;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uUy7B5RJ-1662017013409)(C:\Users\PC\AppData\Local\Temp\1661999201319.png)]

3、mod(取余)
  • mod(参数1,参数2):取余

  • 参数1代表被除数,参数2代表除数

  • select mod(10,3) as “余数” from dual

  • 其中dual是虚表,因为oracal中from必须和select中同时存在

  • mysql中可以只存在select,不存在from

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hivYAgC0-1662017013409)(C:\Users\PC\AppData\Local\Temp\1661999487068.png)]

二、对日期操作的函数

1、months_between(计算差值)
  • months_between(参数1,参数2) :计算差值

  • 参数1代表计算的第一个月,参数2代表第二个月,

  • 参数1的值减去参数2的值,从而计算差几个月

  • select months_between(‘01-5月-2022’,‘01-1月-2022’) from dual;

  • 主要月份的字符需要加上

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-58uHd9I7-1662017013411)(C:\Users\PC\AppData\Local\Temp\1661999961297.png)]

2、add_months(添加月份)
  • add_months(参数1,参数2):对日期进行增减

  • 参数1代表被操作的日期,参数2代表第二个参数运算数字

  • select add_months(‘01-5月-2011’,3),add_months(‘01-5月-2011’,-3) from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fjrTiXso-1662017013412)(C:\Users\PC\AppData\Local\Temp\1662001030226.png)]

  • 习题8:从订单表中查询出两个月之内的所有订单信息

    • select *from s_ord where data_ordered between add_months(‘03-11月-1992’,-2) and ‘03-11月-1992’;

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cvvFD00C-1662017013413)(C:\Users\PC\AppData\Local\Temp\1662001843812.png)]

3、next_day(求当前日期的下个星期几)
  • next_day(日期,‘星期几’):下个星期X的日期

  • select sysdate,next_day(sysdate,‘星期五’) from dual;

  • 其中的‘星期五’必须要这样写

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ut1D41EZ-1662017013414)(C:\Users\PC\AppData\Local\Temp\1662002201742.png)]

4、last_day(求当前日期所在月份的最后一天)
  • last_day(日期)

  • select sysdate,last_day(sysdate) from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zggLYPO7-1662017013415)(C:\Users\PC\AppData\Local\Temp\1662002402033.png)]

三、数据类型转换函数

1、to_date (字符串转化为日期型)
  • to_date(日期)

  • select ‘21-2月-2022’,to_date(‘21-2月-2022’) from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MfreJeM7-1662017013416)(C:\Users\PC\AppData\Local\Temp\1662002803576.png)]

2、to_char
  • to_char(日期,‘格式’)

  • 将日期类型或者数字类型按一定的格式转化为字符串类型

  • 常用格式

    • year:英文年份
    • month: 英文月份
    • day : 星期几的英文单词
    • yyyy:四位数的年份
    • mm:两位数的月份
    • dd:一个月中的第几天
    • hh:24小时
    • mi:分钟
    • ss:秒
    • am/pm 上午/下午
    • d :一个星期数字表示星期天为1,星期六为7
    • ddd : 一年中的第几天
    • ddsp :英文拼写的天 five 5号
    • ddspth:英文拼写的第几天
    • DY : 星期几
  • select to_char(to_date(‘27-5月-2022’),’yyyy-mm-dd‘) fromdual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8wigHN5H-1662017013418)(C:\Users\PC\AppData\Local\Temp\1662003553888.png)]

  • select sysdate,to_char(sysdate,‘yyyy-mm-dd’) from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7xM3zoN9-1662017013418)(C:\Users\PC\AppData\Local\Temp\1662003641559.png)]

  • select sysdate,to_char(sysdate,‘yyyy-mm-dd-DY’) from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mdPjLpNd-1662017013419)(C:\Users\PC\AppData\Local\Temp\1662007356579.png)]

3、round 和 trunc
  • round对日期进行四舍五入操作

  • trunc对日期进行截取操作

  • select round(to_date(‘16-2月-2022’),‘month’)from dual;

  • 其中,本语句的意思是将day的日期变成月份

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cfVIdKRU-1662017013420)(C:\Users\PC\AppData\Local\Temp\1662007881352.png)]

  • select round(to_date(‘16-7月-2022’),‘year’)from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-agyeNEeV-1662017013421)(C:\Users\PC\AppData\Local\Temp\1662008126957.png)]

  • select trunc (to_date(‘16-7月-2022’),‘year’)from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EhPrmYTU-1662017013423)(C:\Users\PC\AppData\Local\Temp\1662008226795.png)]

四、常用的数字格式

1、0
  • 0代表如果存在数字则显示数字,不存在则显示0.即占位符
2、9
  • 9代表如果存在数字则显示数字,不存在则显示空格
3、FM
  • FM:代表如果是因为9带来的空格则删除

  • select total,to_char(total,‘FM$999,999’) from s_ord;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uXYNxSz5-1662017013424)(C:\Users\PC\AppData\Local\Temp\1662014639315.png)]

4、L
  • 本地货币符号

  • select total,to_char(total,‘FML000,999,999.00’) from s_ord;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vyyAlbSi-1662017013425)(C:\Users\PC\AppData\Local\Temp\1662014802437.png)]

5、$
  • $:美元符号
6、to_number
  • 将字符串类型转化为数字类型

  • select to_number(‘123.456’) from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sDIbCruX-1662017013426)(C:\Users\PC\AppData\Local\Temp\1662015738477.png)]

  • 十六进制转化为十进制用to_number

  • select to_number(‘a’,‘xxx’)from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XpLXtp2d-1662017013427)(C:\Users\PC\AppData\Local\Temp\1662015933163.png)]

  • xxx,如果转换的数字较大,则多用几个

  • 十六进制转化为十进制用to_char

  • select to_char(14,‘xxx’)from dual;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBKTPxNu-1662017013427)(C:\Users\PC\AppData\Local\Temp\1662016023071.png)]

习题
1、找出S_EMP表中,START_DATE是91年的日期,并且以2008.08.17此种格式输出
  • select to_char(start_date,‘yyyy.mm.dd’) from s_emp where start_date like ‘%91’;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MF7AW196-1662017013428)(C:\Users\PC\AppData\Local\Temp\1662016592709.png)]

2、习题10:在S_ORD表中,查询出SALES_REP_ID为11的total值,该值以¥开头,有10位有效位数,不足的位数以0填充
  • select to_char(total,‘FML00,000,000.00’)from s_ord where sales_rep_id =11;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eQA9iqH3-1662017013429)(C:\Users\PC\AppData\Local\Temp\1662016935416.png)]

196-1662017013428)]

2、习题10:在S_ORD表中,查询出SALES_REP_ID为11的total值,该值以¥开头,有10位有效位数,不足的位数以0填充
  • select to_char(total,‘FML00,000,000.00’)from s_ord where sales_rep_id =11;

    [外链图片转存中…(img-eQA9iqH3-1662017013429)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值