确定Oracle中字符串值的数据类型

时间:2012-09-29 21:39:39

标签: oracle types type-conversion

好的......这就是我所拥有的。有一个Oracle数据库表,其列为VARCHAR数据类型。此列称为“值”,包含表示不同事物的不同值的字符串。因此,有些记录在此列中有一个数字,其他记录有科学记数法,其他记录,其他实际字符等等,但它们都将作为字符串存储在此“值”列中。

我需要编写一个可以查询此表的视图,并确定“value”列中字符串表示的数据类型。我知道我可以做PL / SQL来做这件事,但我无权创建存储过程,这需要在视图中 - 出于其他原因。

1 个答案:

答案 0 :(得分:1)

我认为你需要一个额外的列来描述存储在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

您也可以使用正则表达式