[SQL ] 請問使用to_number字串轉數字的錯誤
資料庫名稱:oracle
資料庫版本:9i
內容/問題描述:
table A有一個column為 atable varchar(190)
輸入 select substr(atable,121,7) from table A;
的結果為
0001236
0000782
0000107
0000227
0001489
我使用想讓輸出的結果為
1236
782
107
227
1489
使用TO_NUMBER函式都回應ORA-01722: invalid number
select to_number('substr(atable,121,7)') from table A
請教各位大大這個語法的問題在那裡,望賜教
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.124.224
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1421145666.A.C48.html
推
01/13 19:14, , 1F
01/13 19:14, 1F
→
01/13 19:16, , 2F
01/13 19:16, 2F
好方法,用前面加1的方式在用運算式轉為數值
實做後也不需to_number函式
1 || substr(atable,121,7)-10000000查詢結果便是數字型態
謝謝anchime的不吝提示
※ 編輯: erho (122.117.124.224), 01/14/2015 09:26:19
→
01/14 11:25, , 3F
01/14 11:25, 3F
若用pooznn的方法,
雖然一樣為123,
但查詢結果型態依然為文字,
但如果以anchime的作法可同時轉為數字形態,
可搭配數字運算如sum,avg等函數在做進一步運算
※ 編輯: erho (122.117.124.224), 01/15/2015 11:54:20
推
03/21 15:28, , 4F
03/21 15:28, 4F
討論串 (同標題文章)