POSTGRES バインド値を、同SQL内の別の箇所でも使用したい


現在の実装は下記の通りです

[code]

    SELECT
      CASE 'バインド値' 
        WHEN 'ABC' THEN "none"
        ELSE NEXTVAL('☆') 
        END AS VALUE; 
    
[/code]

CASEの判定値にバインド値を設定しており、そのバインド値を「☆」の部分でも使用したいのですが方法がわかりません。  
分かる方がいましたら、ご教授をお願いします。




from内でバインド値を取得すれば、select内で使いまわすことが出来ます。

[code]

    from (select 'バインド値' as BIND_VALUE) as BIND
    
[/code]

取得するときは、

[code]

    BIND.BIND_VALUE
    
[/code]

で取得することが出来ます。




手元のPostgres環境では次のようなSQLで動作しました。

[code]

    SELECT
      CASE seq_names.name 
        WHEN 'ABC' THEN 'none'
        ELSE CAST(NEXTVAL(seq_names.name) AS VARCHAR)
        END AS VALUE
    FROM
      (SELECT CAST('blogs_id_seq' AS VARCHAR) AS name) seq_names
    
[/code]

適宜CASTをしないと型の不一致でエラーが出るようです。

