oracle number类型用法
2022/8/25 2:24:36
本文主要是介绍oracle number类型用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.number类型
number类型是一个可变长度的数据类型,使用四舍五入实现;
既可以存储整数,也可以存储小数。
2.具体语法
number[(p[, s])]
NUMBER类型可以用来存储0、正数、负数;
数据范围是1×10-130 ~ 1 × 10126 ,不能等于或者大于1 × 10126 ,否则Oracle会报错(算数表达式的结果同理);
一个NUMBER类型的数据会占1~22个字节的数据;
p : 精度位precision,数据的有效位;取值范围[1~38];默认38;*表示38
s : 小数位scale,小数点右边的位数;取值范围[-84~127];
当精度超出定义的时候,两者都会做四舍五入操作;
默认:未指定p,默认s为最大范围;
指定了p,默认s=0,即:number(p) == number(p,0);
换言之就是:
当将字段的数据类型指定成number时,该字段既可以存整数,也可以存小数;
当将字段的数据类型指定成number(p)时,该字段只能存储最大长度=p的整数,不能存小数;
当将字段的数据类型指定成number(p, s)时,该字段最大长度=p,小数位=s,整数位=p-s,当小数位不足时,会自动补零。
最高整数位数=p-s
s正数,精确到小数点右边s位,四舍五入;
s负数,精确到小数点左边s位,四舍五入;
s是0或者未指定,四舍五入到最近整数;
当一个数的整数部分的长度 > p-s 时,Oracle就会报错;
3.示例
实际值 |
数据类型 |
存储值 |
1234567.89 |
Number |
1234567.89 |
1234567.89 |
Number(8) |
1234567 |
1234567.89 |
Number(6) |
出错 |
1234567.89 |
Number(9,1) |
1234567.9 |
1234567.89 |
Number(9,3) |
出错 |
1234567.89 |
Number(7,2) |
出错 |
1234567.89 |
Number(5,-2) |
1234600 |
1234511.89 |
Number(5,-2) |
1234500 |
1234567.89 |
Number(5,-4) |
1230000 |
1234567.89 |
Number(*,1) |
1234567.9 |
0.012 |
Number(2,3) |
0.012 |
0.23 |
Number(2,3) |
出错 |
说明:
在SQLmap文件当中,使用string类型插入到number字段时,不用使用to_number()进行转换,就可以直接插入。
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
- 个人主页
- oracle 补齐两位小数(不足补0)
这篇关于oracle number类型用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用
- 2025-01-03混合搜索:用LanceDB实现语义和关键词结合的搜索技术(应用于实际项目)
- 2025-01-03停止思考数据管道,开始构建数据平台:介绍Analytics Engineering Framework
- 2025-01-03如果 Azure-Samples/aks-store-demo 使用了 Score 会怎样?
- 2025-01-03Apache Flink概述:实时数据处理的利器
- 2025-01-01使用 SVN合并操作时,怎么解决冲突的情况?-icode9专业技术文章分享
- 2025-01-01告别Anaconda?试试这些替代品吧
- 2024-12-31自学记录鸿蒙API 13:实现人脸比对Core Vision Face Comparator