oracle 如果所选字段为空,请选择另一个(空,非空,请不要关闭)[重复]

lrl1mhuk  于 2023-11-17  发布在  Oracle
关注(0)|答案(1)|浏览(162)

此问题在此处已有答案

How to replace null values with a text?(6个答案)
上个月关门了。
对于这个查询,我尝试select R23VENAD-PLT-ADDR-2,但如果R23VENAD-PLT-ADDR-2是空的,那么我需要抓取R23VENAD-PLT-ADDR-3,但如果这是空的,我需要抓取WMS-VENDOR-ADDRESS-L2

SELECT
R23VENAD-PLT-ADDR-2 -- (however, if this field is blank choose R23VENAD-PLT-ADDR-3, if this one is also empty then use WMS-VENDOR-ADDRESS-L2)
.......

字符串
我在这里卡住了。我只找到了if null,但它在这里没有用。

uxhixvfz

uxhixvfz1#

您可以使用COALESCE()来处理任何NULL(Oracle docs COALESCE)
NULLIF()来处理空白文本(Oracle文档NULLIF

SELECT COALESCE(NULLIF( R23VENAD-PLT-ADDR-2,''), NULLIF(R23VENAD-PLT-ADDR-3,''), NULLIF(WMS-VENDOR-ADDRESS-L2,''))

字符串

相关问题