oracle number 類型
Jun 07, 2016 pm 03:26 PM在Oracle中Number類型可以用來存儲(chǔ)0,正負(fù)定點(diǎn)或者浮點(diǎn)數(shù)。 number類型占用0-22個(gè)字節(jié),它實(shí)際上是磁盤上的一個(gè)變長數(shù)據(jù)類型,是oracle根據(jù)一定算法,采用盡可能少存儲(chǔ)空間表示一個(gè)數(shù)。 Number的數(shù)據(jù)聲明如下: 表示 作用 說明 Number(p, s) 聲明一個(gè)定點(diǎn)數(shù)
在Oracle中Number類型可以用來存儲(chǔ)0,正負(fù)定點(diǎn)或者浮點(diǎn)數(shù)。number類型占用0-22個(gè)字節(jié),它實(shí)際上是磁盤上的一個(gè)變長數(shù)據(jù)類型,是oracle根據(jù)一定算法,采用盡可能少存儲(chǔ)空間表示一個(gè)數(shù)。
Number的數(shù)據(jù)聲明如下:
表示 作用 說明
Number(p, s) 聲明一個(gè)定點(diǎn)數(shù) p(precision)為精度,s(scale)表示小數(shù)點(diǎn)右邊的數(shù)字個(gè)數(shù),精度最大值為38,scale的取值范圍為-84到127
Number(p) 聲明一個(gè)整數(shù) 相當(dāng)于Number(p, 0)
Number 聲明一個(gè)浮點(diǎn)數(shù) 其精度為38,要注意的是scale的值沒有應(yīng)用,也就是說scale的指不能簡單的理解為0,或者其他的數(shù)。
定點(diǎn)數(shù)的精度(p)和刻度(s)遵循以下規(guī)則:
? 當(dāng)一個(gè)數(shù)的整數(shù)部分的長度 > p-s 時(shí),Oracle就會(huì)報(bào)錯(cuò)
? 當(dāng)一個(gè)數(shù)的小數(shù)部分的長度 > s 時(shí),Oracle就會(huì)舍入。
? 當(dāng)s(scale)為負(fù)數(shù)時(shí),Oracle就對(duì)小數(shù)點(diǎn)左邊的s個(gè)數(shù)字進(jìn)行舍入。
? 當(dāng)s > p 時(shí), p表示小數(shù)點(diǎn)后第s位向左最多可以有多少位數(shù)字,如果大于p則Oracle報(bào)錯(cuò),小數(shù)點(diǎn)后s位向右的數(shù)字被舍入
測試案例:
hongsy@test>desc?hongsy;
?名稱????????????????????????????????????????????????? 是否為空? 類型
?----------------------------------------------------- -------- ------------
?NUM1?????????????????????????????????????????????????????????? NUMBER
?NUM2?????????????????????????????????????????????????????????? NUMBER(2)
?NUM3?????????????????????????????????????????????????????????? NUMBER(5,3)
?NUM4?????????????????????????????????????????????????????????? NUMBER(5,-2)
hongsy@test>insert?into hongsy(num1) values(1111111111);
已創(chuàng)建 1 行。
hongsy@test>commit;
提交完成。
hongsy@test>insert?into hongsy(num2) values(11);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num2) values(111);
insert into hongsy(num2) values(111)
??????????????????????????????? *
ERROR 位于第 1 行:
ORA-01438: 值大于此列指定的允許精確度
hongsy@test>insert?into hongsy(num2) values(-11);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num2) values(-111);
insert into hongsy(num2) values(-111)
??????????????????????????????? *
ERROR 位于第 1 行:
ORA-01438: 值大于此列指定的允許精確度
hongsy@test>insert?into hongsy(num2) values(-11.1);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num2) values(-11.1111);
已創(chuàng)建 1 行。
hongsy@test>commit;
提交完成。
hongsy@test>select?num2 from hongsy;
????? NUM2
----------
?
??????? 11
?????? -11
?????? -11
?????? -11
已選擇8行。
hongsy@test>insert?into hongsy(num3) values(111);
insert into hongsy(num3) values(111)
??????????????????????????????? *
ERROR 位于第 1 行:
ORA-01438: 值大于此列指定的允許精確度
hongsy@test>insert?into hongsy(num3) values(11);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num3) values(-11);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num3) values(-111);
insert into hongsy(num3) values(-111)
??????????????????????????????? *
ERROR 位于第 1 行:
ORA-01438: 值大于此列指定的允許精確度
hongsy@test>insert?into hongsy(num3) values(11.111);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num3) values(11.1111);
已創(chuàng)建 1 行。
hongsy@test>commit;
提交完成。
hongsy@test>select?num3 from hongsy;
????? NUM3
----------
?
?
?
??????? 11
?????? -11
??? 11.111
??? 11.111
已選擇12行。
hongsy@test>insert?into hongsy(num4) values(1111);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num4) values(111111);
已創(chuàng)建 1 行。
hongsy@test>insert?into hongsy(num4) values(11111111);
insert into hongsy(num4) values(11111111)
??????????????????????????????? *
ERROR 位于第 1 行:
ORA-01438: 值大于此列指定的允許精確度
hongsy@test>commit;
提交完成。
hongsy@test>select?num4 from hongsy;
????? NUM4
----------
?
?
?
?
?
????? 1100
??? 111100
已選擇14行。
hongsy@test>insert?into hongsy(num4) values(1111111);
已創(chuàng)建 1 行。
hongsy@test>commit;
提交完成。
hongsy@test>select?num4 from hongsy;
????? NUM4
----------
?
?
?
?
?
????? 1100
??? 111100
?? 1111100
已選擇15行。
hongsy@test>create?table hongsy1 (num1 number(39));
create table hongsy1 (num1 number(39))
????????????????????????????????? *
ERROR 位于第 1 行:
ORA-01727: 數(shù)字精度說明符超出范圍(1 到 38)
hongsy@test>create?table hongsy1 (num1 number(38,128));
create table hongsy1 (num1 number(38,128))
???????????????????????????????????? *
ERROR 位于第 1 行:
ORA-01728: 數(shù)字標(biāo)度說明符超出范圍(-84 到 127)

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

To safely and thoroughly uninstall MySQL and clean all residual files, follow the following steps: 1. Stop MySQL service; 2. Uninstall MySQL packages; 3. Clean configuration files and data directories; 4. Verify that the uninstallation is thorough.

Oracle is not only a database company, but also a leader in cloud computing and ERP systems. 1. Oracle provides comprehensive solutions from database to cloud services and ERP systems. 2. OracleCloud challenges AWS and Azure, providing IaaS, PaaS and SaaS services. 3. Oracle's ERP systems such as E-BusinessSuite and FusionApplications help enterprises optimize operations.

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.

Building a Hadoop Distributed File System (HDFS) on a CentOS system requires multiple steps. This article provides a brief configuration guide. 1. Prepare to install JDK in the early stage: Install JavaDevelopmentKit (JDK) on all nodes, and the version must be compatible with Hadoop. The installation package can be downloaded from the Oracle official website. Environment variable configuration: Edit /etc/profile file, set Java and Hadoop environment variables, so that the system can find the installation path of JDK and Hadoop. 2. Security configuration: SSH password-free login to generate SSH key: Use the ssh-keygen command on each node

When Oracle log files are full, the following solutions can be adopted: 1) Clean old log files; 2) Increase the log file size; 3) Increase the log file group; 4) Set up automatic log management; 5) Reinitialize the database. Before implementing any solution, it is recommended to back up the database to prevent data loss.

MongoDB is suitable for handling large-scale unstructured data, and Oracle is suitable for enterprise-level applications that require transaction consistency. 1.MongoDB provides flexibility and high performance, suitable for processing user behavior data. 2. Oracle is known for its stability and powerful functions and is suitable for financial systems. 3.MongoDB uses document models, and Oracle uses relational models. 4.MongoDB is suitable for social media applications, while Oracle is suitable for enterprise-level applications.

MongoDB is suitable for unstructured data and high scalability requirements, while Oracle is suitable for scenarios that require strict data consistency. 1.MongoDB flexibly stores data in different structures, suitable for social media and the Internet of Things. 2. Oracle structured data model ensures data integrity and is suitable for financial transactions. 3.MongoDB scales horizontally through shards, and Oracle scales vertically through RAC. 4.MongoDB has low maintenance costs, while Oracle has high maintenance costs but is fully supported.

Configuring WebLogic database connection on a CentOS system requires the following steps: JDK installation and environment configuration: Make sure that the server has installed a JDK that is compatible with the WebLogic version (for example, WebLogic14.1.1 usually requires JDK8). Correctly set JAVA_HOME, CLASSPATH and PATH environment variables. WebLogic installation and decompression: Download the WebLogic installation package for CentOS system from the official Oracle website and unzip it to the specified directory. WebLogic user and directory creation: Create a dedicated WebLogic user account and set a security password
