0

我需要编写一个 sql 语句,当两个或多个条件匹配时,它在 decode 语句中返回一个值,结果它只出现在一行中。

Select DECODE(resource_type,('1' AND '2'), 'NO', 'YES') Resource_present 
from Resource where resource_id = 'XYZ'

有没有可能。请帮忙....

4

2 回答 2

0

您可以使用CASE代替decode

Select CASE WHEN resource_type IN ('1' , '2') THEN 'NO' ELSE 'YES' END Resource_present 
from Resource where resource_id = 'XYZ'

另一种选择是在解码中使用更多参数:

Select DECODE(resource_type,'1', 'NO', '2', 'NO', 'YES') Resource_present 
from Resource where resource_id = 'XYZ'
于 2013-10-29T06:26:30.513 回答
0

如何编写自己的函数并实现其中的逻辑并使用 SQL 语句调用该函数?我会更容易阅读,如果将来需要,您可以实现进一步的逻辑。

参数将是字段 ressource_type,该函数的返回将是 varchar。

(如果我被允许的话,我会把它写成评论......)

于 2013-10-29T09:12:38.560 回答