我需要將varchar轉換爲float。 (該varchar保證是一個數字)Oracle - 將Varchar轉換爲Float並指定精度
我試圖在預建表的頂部創建一個物化視圖。因此,所有數據類型必須完全匹配......包括數據類型的精度和大小。原始列(在添加NVL之前)是從FLOAT數據類型以126的精度拉取的。當我嘗試將varchar轉換爲精度爲126的浮點數時,它似乎不包含126數據精度。我通過創建一個標準視圖來測試它不包含126數據大小,下面的查詢將其轉換爲float(126)。通過我的Toad IDE,我可以看到「ThisorThat 「浮柱是38)。
我只是更新我的物化視圖,象這樣一個NVL聲明...
Select Cast(NVL(thisFloat, thatFloat) as Float(126)) as ThisorThat
....
From tables;
我得到的錯誤「ORA-12060:預先建立的表的形狀不符合定義查詢」,因爲尺寸不同於我「預先構建」的原始表格。我需要以某種方式將varchar轉換爲顯式大小爲126的浮動。任何想法?
版本:Oracle 10g的
編輯: 這裏有一個link這基本上是我遇到同樣的事情。