Oracle to_char()函數(shù)具有強大的功能
一、Oracle to_char()函數(shù)功能很強大但是在用它格式化數(shù)值型數(shù)據(jù)時應該請注意以下幾項。如果是小數(shù)如:0.23這樣的數(shù)據(jù)經(jīng)過to_char后再
<strong onmouseover="isShowAds = true;isShowAds2 =
true;ads.Move(this,"http://rad.17luntan.com/
UploadImage/17/633111011619218750.gif","
%u89C1%u6240%u672A%u89C1%uFF01%u62A2%u8D2DLG
%u9510%u6BD4%u6DB2%u6676%uFF0C%u8D60%u65E0%u7EBF%u5927
%u793C%21","42887","顯示","%u663E%u793A%20","http%3A//
210.192.100.35/11779028996160http%3A//
www.lgemonitor.com.cn/mnt/index.html%3F11779028996160",
event)" style="FONT-WEIGHT: normal; CURSOR: hand; COLOR:
#0000ff; TEXT-DECORATION: underline" onclick=
"javascript:window.open
("http://s0.17luntan.com/ClickPortal/WebClick.aspx?id=
42887&k=%u663E%u793A&siteid=
95d6d193-1fb9-4fc0-8708-b7ceb3276924&url=http%3A//
wisebo.bokee.com/viewdiary.15801227.html&gourl=http%3A//
210.192.100.35/11779028996160http%3A//
www.lgemonitor.com.cn/mnt/
index.html%3F11779028996160&parm=
C794E0A4A49DF5F353EA88008FD215212B465427A50DDCDB&
alliedsiteid=148");" onmouseout="isShowAds =
false;isShowAds2 = false">
顯示會變?yōu)?23,如果你為了讓它顯示出原來的0.23的話就得用To_char(要格式化的數(shù)值,’0.999’)保留三個小數(shù),并顯示但這里就要注意了。他為你截取小數(shù)的時候是四舍五入了。所以如果是要求截掉小數(shù)而不四舍五入的話就應該自己寫個函數(shù)截下去后再規(guī)格化。以保證它不四舍五入。
二、Oracle To_char(1.9999,’FM90.0999’)這個函數(shù)規(guī)格化時90.0999的含義是有9的地方如果有數(shù)字就顯示如果沒有數(shù)字就不顯示,有0的地方在沒有數(shù)字的時候也會有0來占位.但這樣做也有一個很大的缺點,就是如果是整數(shù)時它也仍然會顯示”.”,不要小瞧這個點,一般來講頁面上要顯示的話這個點就是多余的.也給我們造成了不小的麻煩.還要自己再寫函數(shù)來把這個小點搞定.
三、對于日期型的Oracle倒時提供了一個好的處理方法,可以把日期做成數(shù)值型的.然后再To_char就能顯示出你所需要的類型了.
四、 在使用select into時一定要注意,這種方法你一定要確認肯定會有數(shù)據(jù)被查出時才能使用.如果查詢結果為空時會導致報錯.還有一種情況是查出來的數(shù)據(jù)是多條也會報錯.所以應該盡量便宜游標來做.會減少錯誤產(chǎn)生的機率.
五、還有注意一點rownum不支持排序,就是說你想用這個來控制行數(shù)的話就會發(fā)現(xiàn)他沒有按你指定的排序方式顯示.,這是一個很難辦的事.而且如果你用rownum=2這樣的語句來輸出第二行的話也是行不通的。
但是有一點是Oracle對null的判斷變態(tài)到極點.如果你說某個變量 aa=null它是判斷不出來的.盡管aa的確是空.即使在選擇條件里也是判斷不出來的.不知道為什么,只好用nvl()這個函數(shù)來判斷了.在條件之外可以用 aa is null 來判斷.
六補充一點.就是在寫存儲過程時要注意參數(shù)名不能與數(shù)據(jù)庫字段名相同.否則Oracle會把這個參數(shù)名看成是字段名的,即使你用表的別名區(qū)分也不行.所以起參數(shù)名的時候一定要注意這點了.
以上的相關內(nèi)容就是對函數(shù)功Oracle to_char()函數(shù)功能強大但是在用它格式化數(shù)值型數(shù)據(jù)時應該請注意的介紹,望你有所收獲。
【編輯推薦】