我在csv / text文件中有一个名为“FLOATVALUE”的字段。我从第三方收到此文件,其中包含以下可能的值
- NULL
- {}
- 任意数字
醇>
当我将此值插入如下
时.... [其他现场检查]
isValid "nvl(:isValid, '')",
的
FLOATVALUE FLOAT EXTERNAL "nvl(:FLOATVALUE, NULL)"
的.... [其他现场检查]
它检查“:FLOATVALUES”是否为空。如果是的话,它会在oracle表中插入NULL,否则就无法插入值(“{}”)。
我正在加载到oracle表中的字段是'FLOATVALUE FLOAT'。我希望在我的控制文件中有类似下面的内容 -
- if:FLOATVALUE为null插入NULL
醇>
elseif:FLOATVALUE是'{}'插入NULL
其他惰性原始值
如何在控制文件中指定上述条件?
答案 0 :(得分:1)
您可以使用decode功能:
decode(:FLOATVALUE, '{}', NULL, :FLOATVALUE)
即:如果FLOATVALUE为'{}',则插入NULL,否则插入FLOATVALUE
答案 1 :(得分:0)
您可以使用decode或case when语句。请参阅下面的示例
Decode :
decode(Float_value,{},NULL,Float_value);
Case when :
CASE [ FLOAT_VALUE ]
WHEN NULL THEN NULL
WHEN {} THEN NULL
ELSE [FLOAT_VALUE]
END;