2015-04-01 50 views
1
create or replace view ABC_VIEW(
    VEHICLEID, BRAND, 
    MODEL, VEHICLE_TYPE, 
    FUEL_TYPE, TRANSMISSION_TYPE, 
    GEARBOX, DRIVE_TYPE, 
    VEHICLE_NUMBER, PRICE, 
    "TEST Column" 
) as 
    select VEHICLEID, BRAND, 
     MODEL, VEHICLE_TYPE, 
     FUEL_TYPE, TRANSMISSION_TYPE, 
     GEARBOX, DRIVE_TYPE, 
     VEHICLE_NUMBER, PRICE, 
     '' as "TEST Column" 
    from ABC; 

默認"Test Column"創建爲Char(1)。如何將其更改爲Number數據類型?如何更改視圖中虛擬列的數據類型?

請幫我一把。謝謝。

+0

' '''是不是一個數字,所以你不能把它定義爲這樣的。你的查詢沒有意義。 ''''代表什麼數字?你爲什麼不加入你想要的號碼呢? – 2015-04-01 19:55:42

回答

0

您可能正在尋找TO_NUMBER函數。

試試這個:

create or replace view ABC_VIEW 
(VEHICLEID,BRAND,MODEL,VEHICLE_TYPE,FUEL_TYPE,TRANSMISSION_TYPE,GEARBOX,DRIVE_TYPE,VEHICLE_NUMBER,PRICE,**"TEST Column"**) 
as select VEHICLEID,BRAND,MODEL,VEHICLE_TYPE,FUEL_TYPE, 
TRANSMISSION_TYPE,GEARBOX, DRIVE_TYPE,VEHICLE_NUMBER,PRICE,TO_NUMBER('') 
from ABC; 
+0

SQL錯誤:ORA-00904::無效標識符 獲取此錯誤消息 – Subbu 2015-04-01 18:50:06

+0

@Subbu: - 更新了我的答案。請立即檢查! – 2015-04-01 18:51:33

+1

Hi Rahul Tripathi,It Worked。,。謝啦。,。 – Subbu 2015-04-01 18:55:51

5

喜歡這裏:

create or replace view v_abc as 
    select cast(null as number) test_column 
    from dual; 

測試:

select table_name, column_name, data_type 
    from all_tab_columns where table_name='V_ABC'; 

TABLE_NAME      COLUMN_NAME     DATA_TYPE 
------------------------------ ------------------------------ ------- 
V_ABC       TEST_COLUMN     NUMBER