好的......这就是我所拥有的。有一个Oracle数据库表,其列为VARCHAR
数据类型。此列称为“值”,包含表示不同事物的不同值的字符串。因此,有些记录在此列中有一个数字,其他记录有科学记数法,其他记录,其他实际字符等等,但它们都将作为字符串存储在此“值”列中。
我需要编写一个可以查询此表的视图,并确定“value”列中字符串表示的数据类型。我知道我可以做PL / SQL来做这件事,但我无权创建存储过程,这需要在视图中 - 出于其他原因。
答案 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
您也可以使用正则表达式