oracleのデータタイプnumber保存フォーマット
2852 ワード
SQL>select‘SMITH’、dump(‘SMITH’)、dump(‘SMITH’、16)from dual;
'SMIT DMMP(‘SMITH’)DMMP(‘SMITH’,16)
SMITH Typ=96 Len=5:83,77,73,84,72 Typ=96 Len=5:53,4 d,49,54,48に対して、トレイで下記の内容を見ました。col 1:53 4 d 49 54 S M I T HはASCII標準コードで規定されています。
numberタイプSQL>select 7369、dump(7369)、dump(7369、16)from dualを見ます。
-10000、60-100、61-1、62-0.1、63、128 0.1、192 1、193 100、194 10000、195 100000、196 100000、197 100000、198
select 0、dump(0)、1、dump(1)、10、dump(10)from dual;select 100、dump(100)、1000、dump(1000)、10000、dump(10000)from dual;select 100000、dump(100000)、100000、dump(100000)、100000、dump(100000)from dual;select 100000,dump(100000)from dual;
select 0.1、dump(0.1)、0.01、dump(0.01)、0.5、dump(0.5)from dual;select-0.1,dump(-0.1),-0.01,dump(-0.01),-0.5,dump(-0.5)from dual;select 0,dump(0),-1,dump(-1),-10,dump(-10)from dual;select-100,dump(-100),-10000,dump(-10000)from dual;select 100000、dump(100000)、100000、dump(100000)、100000、dump(100000)from dual;select 100000,dump(100000)from dual;
SQL>select dump(1)from dual;DMP(1)
Typ=2 Len=2:193,2 SQL>select dump(99)from dual;DMP(99)
Typ=2 Len=2:193,100 SQL>select dump(100)from dual;DMP(100)
Typ=2 Len=2:194,2 SQL>select dump(101)from dual;DMP(101)
Typ=2 Len=3:194,2,2内部のアルゴリズムは1が193に属する最初の数字で、2で1を引くと1です。99は193の最大桁の数字で、100から1を引くと99です。100は194の最初の数字で、2から1を引くと1です。194の1は100を表しています。101は2つの部分に分かれています。100は194の2になります。1は193の2になります。194、2、2は先に数字がどの区間に属しているかを見てから、もう一つの桁で、百万人、百万人、百万人、百万人の桁で数字を分けます。さらに分割して、小数点の影響を見続けます。
select dump(1.999)from dual;select dump(1.99)from dual;select dump(1.01)from dual;select dump(1.01)from dual;select dump(1.10)from dual;select dump(99.1)from dual;select dump(99.01)from dual;
SQL>set pages 200 lineas 200 SQL>select dump(1.999)from dual;DMP(1.999)
Typ=2 Len=4:193,2,100 SQL>select dump(1.99)from dual;DMP(1.99)
Typ=2 Len=3:193,2,100 SQL>select dump(1.01)from dual。DMP(1.01)
Typ=2 Len=3:193,2,2 SQL>select dump(1.00)from dual。DMP(1.00)
Typ=2 Len=2:193,2 SQL>select dump(1.01)from dual;DMP(1.001)
Typ=2 Len=4:193,2,1,11 SQL>select dump(1.10)from dual;DUMP(1.10)
Typ=2 Len=3:193,2,11 SQL>select dump(99.1)from dual;DMP(99.1)
Typ=2 Len=3:193,100,11 SQL>select dump(99.01)from dual;DMP(99.01)
Typ=2 Len=3:193,100,2
oracleのデジタルデザインがとても面白いです。小数点は2桁の単位で、0.01は最小で2です。0.99は最大で100です。1を引くと数字が得られます。
したがって、7369は10000未満で、194区間であるべきです。74-1=73で、70-1=69です。したがって、10進数で保存すべきは194、74、70の3つの数字で、アルゴリズムの意味は10000以下の数字で、最初の2桁は73、後の2桁は69です。194、74、70は16進数に変換するのはC 2、4 A、46という3つの数字です。私たちはdumpからのフォーマットを比較します。
tl:38 fb:--H-FL--lb:0 x 0 cc:8 col 0:[3]c 2 a 46これでnumberタイプの解釈と学習が完成しました。
'SMIT DMMP(‘SMITH’)DMMP(‘SMITH’,16)
SMITH Typ=96 Len=5:83,77,73,84,72 Typ=96 Len=5:53,4 d,49,54,48に対して、トレイで下記の内容を見ました。col 1:53 4 d 49 54 S M I T HはASCII標準コードで規定されています。
numberタイプSQL>select 7369、dump(7369)、dump(7369、16)from dualを見ます。
7369 DUMP(7369) DUMP(7369,16)
7369 Typ=2 Len=3: 194,74,70 Typ=2 Len=3: c2,4a,46
難点は194,193,192のような数字の定義は0-256 0:ffであるため、10進数で定義されている中点は128で、0を表しています。-10000、60-100、61-1、62-0.1、63、128 0.1、192 1、193 100、194 10000、195 100000、196 100000、197 100000、198
select 0、dump(0)、1、dump(1)、10、dump(10)from dual;select 100、dump(100)、1000、dump(1000)、10000、dump(10000)from dual;select 100000、dump(100000)、100000、dump(100000)、100000、dump(100000)from dual;select 100000,dump(100000)from dual;
select 0.1、dump(0.1)、0.01、dump(0.01)、0.5、dump(0.5)from dual;select-0.1,dump(-0.1),-0.01,dump(-0.01),-0.5,dump(-0.5)from dual;select 0,dump(0),-1,dump(-1),-10,dump(-10)from dual;select-100,dump(-100),-10000,dump(-10000)from dual;select 100000、dump(100000)、100000、dump(100000)、100000、dump(100000)from dual;select 100000,dump(100000)from dual;
SQL>select dump(1)from dual;DMP(1)
Typ=2 Len=2:193,2 SQL>select dump(99)from dual;DMP(99)
Typ=2 Len=2:193,100 SQL>select dump(100)from dual;DMP(100)
Typ=2 Len=2:194,2 SQL>select dump(101)from dual;DMP(101)
Typ=2 Len=3:194,2,2内部のアルゴリズムは1が193に属する最初の数字で、2で1を引くと1です。99は193の最大桁の数字で、100から1を引くと99です。100は194の最初の数字で、2から1を引くと1です。194の1は100を表しています。101は2つの部分に分かれています。100は194の2になります。1は193の2になります。194、2、2は先に数字がどの区間に属しているかを見てから、もう一つの桁で、百万人、百万人、百万人、百万人の桁で数字を分けます。さらに分割して、小数点の影響を見続けます。
select dump(1.999)from dual;select dump(1.99)from dual;select dump(1.01)from dual;select dump(1.01)from dual;select dump(1.10)from dual;select dump(99.1)from dual;select dump(99.01)from dual;
SQL>set pages 200 lineas 200 SQL>select dump(1.999)from dual;DMP(1.999)
Typ=2 Len=4:193,2,100 SQL>select dump(1.99)from dual;DMP(1.99)
Typ=2 Len=3:193,2,100 SQL>select dump(1.01)from dual。DMP(1.01)
Typ=2 Len=3:193,2,2 SQL>select dump(1.00)from dual。DMP(1.00)
Typ=2 Len=2:193,2 SQL>select dump(1.01)from dual;DMP(1.001)
Typ=2 Len=4:193,2,1,11 SQL>select dump(1.10)from dual;DUMP(1.10)
Typ=2 Len=3:193,2,11 SQL>select dump(99.1)from dual;DMP(99.1)
Typ=2 Len=3:193,100,11 SQL>select dump(99.01)from dual;DMP(99.01)
Typ=2 Len=3:193,100,2
oracleのデジタルデザインがとても面白いです。小数点は2桁の単位で、0.01は最小で2です。0.99は最大で100です。1を引くと数字が得られます。
したがって、7369は10000未満で、194区間であるべきです。74-1=73で、70-1=69です。したがって、10進数で保存すべきは194、74、70の3つの数字で、アルゴリズムの意味は10000以下の数字で、最初の2桁は73、後の2桁は69です。194、74、70は16進数に変換するのはC 2、4 A、46という3つの数字です。私たちはdumpからのフォーマットを比較します。
tl:38 fb:--H-FL--lb:0 x 0 cc:8 col 0:[3]c 2 a 46これでnumberタイプの解釈と学習が完成しました。