Sql 多个NVL参数
我有以下疑问Sql 多个NVL参数,sql,oracle,Sql,Oracle,我有以下疑问 where username=NVL('&XID',username); 以上查询可以很好地处理单个“XID”值 但是假设我必须输入多个XID值,那么我的查询应该是怎样的?我想您正在寻找合并: WHERE username = COALESCE('&XID1', '&XID2', '&XID3', username) 使用合并。它将返回其中引入的值的第一个非空值 where username= coalesce('value1', 'value2
where username=NVL('&XID',username);
以上查询可以很好地处理单个“XID”值
但是假设我必须输入多个XID值,那么我的查询应该是怎样的?我想您正在寻找
合并:
WHERE username = COALESCE('&XID1', '&XID2', '&XID3', username)
使用合并
。它将返回其中引入的值的第一个非空值
where username= coalesce('value1', 'value2', 'value3', username)
实际上,有3个输入参数,如下所示。--POSTDATE介于to_date(‘&START_date’,‘DD-MM-YYYY’)和to_date(‘&END_date’,‘DD-MM-YYYY’)之间,username=NVL(‘&XID’,username);但是我的用户名不是固定的。。可能是1-2-3。。。。或N个username@RakeshWarang那么,如果前面的值为null,您如何决定应该传递哪个用户名?-如果前面的值为null,我将根据我的要求输入特定用户名,它可能是第1到第n个用户名&如果我只输入,它将给出该特定时间段内所有用户名的数据