有没有办法将两种情况区分为一个代码块?

时间:2019-04-25 09:37:00

标签: postgresql conditional case

我想将两种情况重定向到一个代码块。在其他语言中,可以像下面的代码一样将一个案例一个接一个地堆叠。但是postgres在这种情况下什么也不做。有什么方法可以做我想要的吗?

VARIABLE_TYPE TEXT := 'BOOL'

CASE VARIABLE_TYPE

    WHEN 'INTEGER' THEN
        --a lot of code

    WHEN 'BOOL' THEN
    WHEN 'BOOLEAN' THEN
        --a lot of code

END CASE;

1 个答案:

答案 0 :(得分:2)

您可以像这样使用CASE中的generic version

VARIABLE_TYPE TEXT := 'BOOL'

CASE 
    WHEN VARIABLE_TYPE = 'INTEGER' THEN
        --a lot of code

    WHEN VARIABLE_TYPE = 'BOOL' OR
         VARIABLE_TYPE = 'BOOLEAN' THEN
        --a lot of code

END CASE;