需要编写一条sql语句,当两个或多个条件匹配时,该语句将在decode语句中返回一个值,结果仅在一行中
我需要编写一个sql语句,当两个或多个条件匹配时,该语句将在decode语句中返回一个值,结果只在一行中需要编写一条sql语句,当两个或多个条件匹配时,该语句将在decode语句中返回一个值,结果仅在一行中,sql,oracle,Sql,Oracle,我需要编写一个sql语句,当两个或多个条件匹配时,该语句将在decode语句中返回一个值,结果只在一行中 Select DECODE(resource_type,('1' AND '2'), 'NO', 'YES') Resource_present from Resource where resource_id = 'XYZ' 有可能吗。? 请帮助……您可以使用案例而不是解码: Select CASE WHEN resource_type IN ('1' , '2') THEN 'NO'
Select DECODE(resource_type,('1' AND '2'), 'NO', 'YES') Resource_present
from Resource where resource_id = 'XYZ'
有可能吗。?
请帮助……您可以使用
案例
而不是解码
:
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_类型,该函数的返回值将是varchar
(如果我被允许的话,我会把它写下来作为评论…资源类型如何既可以是“1”又可以是“2”?你的意思是
还是?你可以使用“CASE.WHEN”。SQL中的THEN.ELSE.END语法。