Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在使用或_Sql_Postgresql_Case When - Fatal编程技术网

Sql 在使用或

Sql 在使用或,sql,postgresql,case-when,Sql,Postgresql,Case When,有没有一种方法可以使用或搭配CASE,像这样 SELECT case 'brasil' when 'chile' OR 'brasil' THEN 'ok' when 'argentina' then 'ok2' when 'venezuela' THEN 'ok3' ELSE 'chaves' end; 是的,你想得对。您可以在select..c

有没有一种方法可以使用或搭配CASE,像这样

SELECT
    case 'brasil'   
    when 'chile' OR 'brasil' THEN   
                        'ok'
    when 'argentina' then
        'ok2'
    when 'venezuela' THEN
        'ok3'
    ELSE
        'chaves'
end;

是的,你想得对。您可以在select..case语句中使用或或:

select

  case
  -- one way or writing OR
  when country = 'brasil' or country = 'chile' then '....'
  -- another way of writing OR
  when country in ('china', 'japan') then '...'
  else '..'
  end

from tablename;

示例:

案例部分(
案例“brasil”
)中的常量没有意义,并且从一开始就无效。如果它是有效的SQL,这是没有意义的,因为你可以用一个简单的
选择“ok”
来代替它。请注意,在这个例子中,当…我删除了PL/pgSQL的描述,因为它可能会误导OP。感谢你将它提请注意。谢谢使用
中的
可以缩短
时的
表达式:
在国家位于('brasil','chile')时的情况下,然后…