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”的位数不能小于实际十六进制数的位数,否则,将无法获得正确的结果
-
-
-