第七章 oracle 中数值型及相关函数

Oracle 中的数值型:number[(pervision[,scale])]

  • prevision:代表该数值型的精度,取值范围为:pervision>=1 and pervision<=38

  • scale:指定小数后的位数,取值范围为:scale>=-84 and scale <=127

    • 再number类型中,小数位数scale可以为正数,也可以为负数。当scale为负数时,表示将数字精确到小数点之前的位数;当scale为正数时,表示将数字精确到小数点之后的位数;当scale为0时,表示将数字精确到正数。
    • 对于指定了number类型的列或变量,为其赋值时,应注意不要超过其精度,当超出精度时,Oracle将抛出错误。

Oracle中的数值处理函数

  • 返回数值的绝对值:abs(数值)

  • 返回数字的四舍五入值:round(原数值[,小数位数])

    • 当小数位数为正数时,表示精确到小数点之后的位数
    • 当小数位数为负数时,表示精确到小数点之前的位置
    • 当小数位数为0时,或者省略时,表示精确到整数
  • 向上取整:ceil(数值)

    • 其中数值可以为正数也可以为负数
  • 向下取整:floor(数值)

    • 其中数值可以为正数也可以为负数
  • 取模操作:mod(被除数,除数)

    • 用于返回一个除法表达式的余数
  • 返回数字的正负性:sign(数值)

    • 数值为正数,返回1;数值为负数,返回-1;数值为0,返回0;
  • 返回数字的平方根:sqrt(数值)

    • 数值不能小于0;
  • 乘方运算:power(底数,指数)

  • 截取数字:trunc(原数值[,小数位数])

    • trunc()函数用于截取参数,当参数为数字时,trunc()函数将截取部分数字。其工作机质非常类似与round()函数,但是,trunc()函数并不进行四舍五入操作,而是直接舍去。
    • 当小数位数大于0时,表示截取至原数值的小数点之后的位数
    • 当小数位数为0时或者小数位数被省略时,trunc()函数将截取原数值的整数部分。
  • 将ASCII码转换为字符:chr(ASCII码)

    • 例如:在Oracle中,如果sql语句中出现‘&’符号,会被自动转义,并要求输入&符号后跟随字符串的值:

      • insert into test_chr(id) values(‘&id’);

      • 将上述语句改为:

        • insert into test_chr(id) values(chr(38)||‘id’);
  • 格式化数值:to_char(原数值,格式)

    • to_char()函数中的格式参数比较复杂,仅讲述最常用的几种

      • 格式字符“0”

        • 0,代表一个数字位。当原数值没有数字位与之匹配时,强制添加0。

          • 在这里插入图片描述
      • 格式字符“9”

        • 9,代表一个数字位。当原数值中的整数部分没有数字位与之匹配时,不填充任何字符。

          • 在这里插入图片描述
        • 注意:

          • 当原数值位小数时,格式字符“9”不适用

            • 在这里插入图片描述

            • 格式字符“9”和格式字符“0”联用(将个位数位置换为“0”)

              • 在这里插入图片描述
      • 格式字符“,”

        • 字符“,”应用于千位分割符时:

          • 在这里插入图片描述
      • 格式字符“FM”

        • Format Mask;FM,必须在格式参数开头位置,FM格式符的意义在于屏蔽所有不必要的空格和0。

          • 在这里插入图片描述
      • 格式字符“$”

        • : 用 于 标 识 货 币 ( 美 元 ) , :用于标识货币(美元), :,可以出现在格式参数的任意位置。当‘$’与“FM”,同时使用时,FM同样必须出现在开头

          • 在这里插入图片描述
      • 格式字符“L”

        • L:用于标识货币(本地化的货币标识,自动识别地区);L只能放在格式参数首位或末尾,当与‘FM’通过使用时,应放在’FM’之后或末尾使用

          • 在这里插入图片描述
      • 格式字符“C”

        • 返回与数据库系统相关的货币种类符号,C只能放在格式参数首位或末尾,当与‘FM’通过使用时,应放在’FM’之后或末尾使用

          • 在这里插入图片描述

          • 在这里插入图片描述

      • 格式字符“X”

        • 用于十进制转十六进制,需要注意的是格式字符串“x”的位数不能小于实际十六进制数的位数,否则,将无法获得正确的结果

          • 在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大脑经常闹风暴@小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值