numberç±»åå°±æ¯å
æ¬äºææçæ°åç±»åãå¯ä»¥æ¯integerä¹å¯ä»¥æ¯numeric
Oracleæ°æ®ç±»åä¹number
oracleçnumberç±»åæ¯oracleçå
置类åä¹ä¸ï¼æ¯oracleçæåºç¡æ°å¼æ°æ®ç±»åãå¨9iR2åå
¶ä»¥åççæ¬ä¸åªæ¯æä¸ç§éååå¨æ°å¼æ°æ®çåºææ°æ®ç±»åï¼å¨10g以åï¼æåºç°äºä¸¤ç§æ°çæ°å¼ç±»åï¼å³æ¨åºæ¬å°æµ®ç¹æ°æ®ç±»å(Native Floating-Point Data Types): BINARY_FLOAT(å精度32ä½)åBINARY_DOUBLE(å精度64ä½). è¿äºæ°æ°æ®ç±»åé½æ¯åºäºIEEEäºè¿å¶æµ®ç¹è¿ç®æ å,ANSI/IEEE Std 754-1985 [IEEE 754]ï¼ä½¿ç¨è¿äºç±»åæ¶è¦å ä¸æåf(BINARY_FLOAT)æè
d(BINARY_DOUBLE)ï¼æ¯å¦2.07fã3.000094dã
numberæ°æ®ç±»å
numberç±»åçè¯æ³å¾ç®åï¼number(p,s)ï¼
pï¼ç²¾åº¦ä½ï¼precisionï¼æ¯æ»æææ°æ®ä½æ°ï¼åå¼èå´æ¯38ï¼é»è®¤æ¯38ï¼å¯ä»¥ç¨å符*表示38ã
sï¼å°æ°ä½ï¼scaleï¼æ¯å°æ°ç¹å³è¾¹çä½æ°ï¼åå¼èå´æ¯-84~127ï¼é»è®¤å¼åå³äºpï¼å¦æ没ææå®pï¼é£ä¹sæ¯æ大èå´ï¼å¦ææå®äºpï¼é£ä¹s=0ã
pï¼is the precision,or the total number of digits. Oracle guarantees the portability of numbers with precision ranging from 1 to 38.
sï¼is the scale, or the number of digits to the right of the decimal point. The scale can range from -84 to 127.
numberç±»åçpåsï¼ä¸å
¶åºå±åå¨å®å
¨æ²¡æå
³ç³»ï¼æ ¹æ¬ä¸ä¼å½±åæ°æ®å¨ç£çä¸å¦ä½åå¨ï¼å®åªä¼å½±åå
许åªäºå¼ä»¥åæ°å¼å¦ä½èå
¥ï¼ä½ å¯ä»¥è®¤ä¸ºå
¶æ¯å¯¹æ°æ®çâç¼è¾âãç®åç说ï¼ç²¾åº¦ä½p表示æ°å¼æå¤è½æå¤å°ä¸ªæææ°åï¼èå°æ°ä½s表示æå¤è½æå¤å°ä½å°æ°ãæ¢å¥è¯è¯´ï¼p表示ä¸å
±æå¤å°ä½æææ°åï¼å³å°æ°ç¹å·¦è¾¹æå¤æp-sä½æææ°åï¼ï¼s表示å°æ°ç¹å³è¾¹æsä½æææ°åãå¦number(5,2)ç±»åçæ°æ®ï¼å°±è¡¨ç¤ºå°æ°ç¹å·¦è¾¹æå¤æ3ä½æææ°åï¼å³è¾¹æå¤æ2ä½æææ°åï¼å èµ·æ¥å°±æ¯æå¤æ5ä½æææ°åï¼è¶
è¿è¿ä¸ªèå´çæ°åå°±ä¸è½æ£ç¡®çåå¨ä¸æ¥ï¼æ³¨æè¿é说çæ¯ä¸è½æ£ç¡®åå¨ï¼ä½å¹¶ä¸æ¯ä¸è½åå¨ã
æé«æ´æ°ä½æ°ï¼p-s
sæ£æ°ï¼å°æ°ç¹å³è¾¹æå®ä½ç½®å¼å§åèäºå
¥
sè´æ°ï¼å°æ°ç¹å·¦è¾¹æå®ä½ç½®å¼å§åèäºå
¥
sæ¯0æè
æªæå®ï¼åèäºå
¥å°æè¿æ´æ°
å½på°äºsæ¶åï¼è¡¨ç¤ºæ°åæ¯ç»å¯¹å¼å°äº1çæ°åï¼ä¸ä»å°æ°ç¹å³è¾¹å¼å§çås-pä½å¿
é¡»æ¯0ï¼ä¿çsä½å°æ°ã
p>0ï¼å¯¹så2ç§æ
åµï¼
1. s>0
精确å°å°æ°ç¹å³è¾¹sä½ï¼å¹¶åèäºå
¥ãç¶åæ£éªæææ°ä½æ¯å¦<=pï¼å¦æs>pï¼å°æ°ç¹å³è¾¹è³å°æs-p个0å¡«å
ã
2. s<0
精确å°å°æ°ç¹å·¦è¾¹sä½ï¼å¹¶åèäºå
¥ãç¶åæ£éªæææ°ä½æ¯å¦<=p+|s|
温馨提示:答案为网友推荐,仅供参考