好的...這就是我所得到的。有一個Oracle數據庫表有一個數據類型爲VARCHAR
的列。該列稱爲「值」,包含表示不同值的字符串。所以有些記錄在這個列中有一個數字,其他的記錄有科學記數法,其他日期,其他實際字符等,但是它們都將作爲字符串存儲在這個「值」列中。確定Oracle中字符串值的數據類型
我需要編寫一個視圖,該視圖可以查詢此表並確定「值」列中的字符串表示哪種數據類型。我知道我可以做PL/SQL來做到這一點,但我無法創建一個存儲過程,並且需要在視圖中 - 出於其他原因。
好的...這就是我所得到的。有一個Oracle數據庫表有一個數據類型爲VARCHAR
的列。該列稱爲「值」,包含表示不同值的字符串。所以有些記錄在這個列中有一個數字,其他的記錄有科學記數法,其他日期,其他實際字符等,但是它們都將作爲字符串存儲在這個「值」列中。確定Oracle中字符串值的數據類型
我需要編寫一個視圖,該視圖可以查詢此表並確定「值」列中的字符串表示哪種數據類型。我知道我可以做PL/SQL來做到這一點,但我無法創建一個存儲過程,並且需要在視圖中 - 出於其他原因。
我認爲你需要有一個額外的列描述存儲在Value
列
Value VARCHAR2,
ValueType VARCHAR2 -- e.g. Age, Name, Money
視圖中的值,那麼你用一個CASE語句來確定
CASE
WHEN ValueType = 'Age' THEN 'integer'
WHEN ValueType = 'Name' THEN 'string'
WHEN ValueType = 'Money' THEN 'decimal'
END As ColumnValueType
您還可以使用正則表達式
所以你有一列'價值'與一堆隨機的東西呢?是否有另一列,比如'valueType',它告訴你類別是?因爲如果沒有,你只是得到了一列垃圾,除PL/SQL之外,沒有什麼可以做的。 – APC
另外,*爲什麼*您沒有權限使用PL/SQL來執行此操作?這似乎是一個嚴重搞砸的應用程序,並且禁止使用最好的工具對它進行分類顯然是愚蠢的。 – APC