IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Oracle的Trunc和round的區(qū)別

Oracle的Trunc和round的區(qū)別

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)

  select trunc(5.75), trunc(5.75,1), trunc(5.75,-1) from dual

  trunc(x [,y]),其中如果沒有指定y,則對x在0位小數(shù)進(jìn)行截?cái)?,例如:TRUNC(5.75)=5,如果y是負(fù)數(shù),則對x在小數(shù)點(diǎn)左邊的第|y|位處進(jìn)行截?cái)啵纾篢RUNC(5.75, -1)=0,這里應(yīng)對小數(shù)點(diǎn)左邊的第|-1|位截取,為什么是0,不是5?

  另外ROUND函數(shù)是對數(shù)值進(jìn)行取整, 同TRUNC,例如:ROUNC(5.75)=6,表示對5.75在0位小數(shù)處進(jìn)行取整,這里0位小數(shù)是7?取整怎么就是6不是5?四舍五入了?ROUNC(5.75, 1)=5.8,這里第1位小數(shù)是5?取整進(jìn)行了四舍五入?ROUND(5.75, -1)=10,對5.75在左邊第|-1|位取整,左邊第一位就是十位?5是個位,是第0位?

  解答如下:

  第一個問題 如果y是負(fù)數(shù),則對x在小數(shù)點(diǎn)左邊的第|y|位處進(jìn)行截?cái)?,例如:TRUNC(5.75, -1)=0????? 5.75 看成 0005.75.000 從小數(shù)點(diǎn)左邊第一位往左邊截,不是0嗎

  第二個問題,例如:ROUND(5.75)=6,表示對5.75在0位小數(shù)處進(jìn)行取整,這里0位小數(shù)是7???? 0位小數(shù)是沒有,不是7, 7是第一位小數(shù)了。

  5.75取整 就是6啊,是四舍五入了啊,要不 round和trunc就沒區(qū)別了嘛。

  ROUND(5.75, 1)=5.8,這里第1位小數(shù)是5??? 不是,第一位小數(shù)是7?? 四舍五入就是 5.8

  ROUND(5.75, -1)=10,對5.75在左邊第|-1|位取整,左邊第一位就是十位? 小數(shù)點(diǎn)左邊第一位是個位,你同樣看成 00005.75000, 從個位的左邊開始取,并四舍五入。 個位是5 左邊的十位是0, 由于5是進(jìn)1的,所以是10.

關(guān)鍵詞標(biāo)簽:Oracle

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法