oracle對數值0.n轉換成char型別的時候會自動忽略前面的0(原因好像是為了節省空間0.1儲存到資料庫為.1)。例如:
[sql] view plain copy
01.sql> select to_char(0.1) from dual;
02.to_char(0.1)
03.------------
04..1
解決方法:
[sql] view plain copy 在code上檢視**片派生到我的**片
01.方法一、
02.select case
03. when l_num like '.%' then
04. '0'||l_num
05. else
06. to_char(l_num)
07. end sal
08. from dual;
[sql] view plain copy 在code上檢視**片派生到我的**片
01.方法二、
02.select decode(substr(l_num,1,1),'.','0'||l_num,l_num) from dual;
實驗如下:
[sql] view plain copy
01.對方法一進行實驗,為了區分開來,使用不同數值替換
02.sql> select case
03. 2 when 0.5 like '.%' then
04. 3 '0'||.11111
05. 4 else
06. 5 to_char(6666)
07. 6 end sal
08. 7 from dual;
09.sal
10.-------
11.0.11111
[sql] view plain copy
01.方法二進行實驗,為了區分使用不同數值進行替換
02.sql> select decode(substr(0.1,1,1),'.','0'||.55555,6666) from dual;
03.decode(substr(0.1,1,1),'.','0'
04.------------------------------
05.0.11111
Oracle踩坑之解決數值0 2只顯示成 2方法
最近在做統計查詢時,遇到乙個數值0.2查詢出來卻顯示.2的問題,於是查詢原因,發現oracle對數值0.n轉換成char型別的時候會自動忽略前面的0。本文將通過實際案例講解怎麼解決這種問題。實際專案中乙個統計示例sql select r.xqid,r.yf,r.roomid,r.floorid,r....
C 的顯式數值轉換
顯式數值轉換是指當不存在相應的隱式轉換時,從一種數字型別到另一種數字型別的轉換。包括 從sbyte到byte,ushort,uint,ulong,或char。從byte到sbyte或char。從short到sbyte,byte,ushort,uint,ulong,或char。從ushort到sbyt...
oracle 中數值的計算
運算子 含義 加 加法 加 字串相加 減 減法 乘 乘法 除 除法 mod 模 返回乙個除法的整數餘數 例如,12 5 2,這是因為 12 除以 5,餘數為 2 示例 select5 6 5 nullfromdual select5 6fromdual select5 6fromdual selec...