什麼是Oracle 10g中的FLOAT數據類型,它與NUMBER有什麼關係?FLOAT如何映射/關聯到Oracle 10g中的NUMBER?
唯一的參考,我可以找到Oracle文檔中浮子在此頁面的BINARY_DOUBLE部分:http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#i140621它似乎表明,它存儲一個浮點數,並允許你指定位精度,但它不」引用NUMBER類型。 11g文檔根本沒有提到FLOAT。
書 「專家Oracle數據庫體系結構:Oracle數據庫9i,10g中,和11g的編程技術和解決方案,第二版」 說:
除了NUMBER,BINARY_FLOAT和BINARY_DOUBLE類型,甲骨文語法支持以下數字數據類型:
當我說「語法支持」時,我的意思是一個CREATE語句可以使用這些數據類型,但在它們的封面下它們都是真正的NUMBER類型。 ...
- FLOAT(p):映射到NUMBER類型。
什麼我不明白是怎麼它映射到數字。
NUMBER(p)
讓我爲0好像FLOAT(p)
是映射NUMBER(decimal p, *)
指定的精度,但規模默認值,也就是固定的精度,但可變的規模,這是不是號碼類型,據我可以告訴允許。
因此,FLOAT不僅僅是一個別名,還提供NUMBER本身不提供的行爲?
我沒有方便的Oracle實例來檢查,但如果我記錯在封裝SYS.STANDARD如定義FLOAT NUMBER的子類型。(在Oracle中**大多數**數字類型都是NUMBER的子類型,我相信BINARY_FLOAT和BINARY_DOUBLE是極少數例外之一,PLS_INTEGER可能是另外一種,但我不確定 - 檢查SYS.STANDARD)。 –
@BobJarvis是的,它說'子類型FLOAT是NUMBER; - NUMBER(126)',但它又說'子類型BINARY_FLOAT是NUMBER;'... –