如果值与条件匹配,则将值插入表中,否则插入null

时间:2018-02-16 13:50:26

标签: sql oracle

我希望insert使用值SUBSTR(data, 71, 2)将值放入表中。

但是,如果数据不够长,那么我想输入null

1 个答案:

答案 0 :(得分:3)

您可以在此处使用CASE表达式:

CASE WHEN LENGTH(data) >= 73
     THEN SUBSTR(data, 71, 2)
     ELSE NULL END

这将是您较大的插入声明的一部分,您没有向我们透露。

修改

在起始位置超出范围的列上调用SUBSTR将返回NULL。但是,如果起始位置在边界内并且长度超过字符串的长度,则仅返回字符串的可用剩余部分。因此,以下对SUBSTR的调用将返回world

SUBSTR('hello world', 7, 30)