作者daniel1205 (艾琳是我最爱的人!!)
看板Database
标题Re: [SQL ] 2个参数的写法??
时间Wed Dec 15 02:02:15 2010
※ 引述《justyes (justyes)》之铭言:
: 目前遇到一个问题,原本只有一个参数写法如下
: and dfv.ATTRIBUTE1 in nvl(:P_MEA,dfv.ATTRIBUTE1)
: 但後来想再增加一个筛选条件,改写如下
: and dfv.ATTRIBUTE1 in (nvl(:P_MEA,dfv.ATTRIBUTE1),nvl(:P_MEA1,null))
: 但测试时,值还是输入出来
: 不知小弟哪写错
and dfv.ATTRIBUTE1 in (nvl(:P_MEA,dfv.ATTRIBUTE1),nvl(:P_MEA1,null))
等同於
and ( dfv.ATTRIBUTE1 in (nvl(:P_MEA,dfv.ATTRIBUTE1))
OR dfv.ATTRIBUTE1 in (nvl(:P_MEA1,null))
)
如果你希望增加一个
筛选条件,
应该是加一个 AND 条件才对
EX:
and dfv.ATTRIBUTE1 in nvl(:P_MEA,dfv.ATTRIBUTE1)
AND dfv.ATTRIBUTE1 = :P_MEA1
另外...
nvl(:P_MEA1,null) <-- 这样的语法似乎有点诡异??
==> P_MEA1 如果是 NULL 的话, 就给他 NULL ... 囧
然後又把 NULL 丢去当 AND 条件.... <囧>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.131.23