我需要编写一个 sql 语句,当两个或多个条件匹配时,它在 decode 语句中返回一个值,结果它只出现在一行中。
Select DECODE(resource_type,('1' AND '2'), 'NO', 'YES') Resource_present
from Resource where resource_id = 'XYZ'
有没有可能。请帮忙....
您可以使用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'
如何编写自己的函数并实现其中的逻辑并使用 SQL 语句调用该函数?我会更容易阅读,如果将来需要,您可以实现进一步的逻辑。
参数将是字段 ressource_type,该函数的返回将是 varchar。
(如果我被允许的话,我会把它写成评论......)