MW211 EXIT

devlog
PostgreSQL/副問い合わせの数値と文字列
2012年08月02日
以下の構文は両方ともOK
○SELECT (SELECT 1);
○SELECT (SELECT 'A');

でも、以下の構文は後者がエラーとなる
○SELECT 'Z' WHERE 1 = (SELECT 1);
×SELECT 'Z' WHERE 'A' = (SELECT 'A');
なぜだろう?

一旦戻って、出力結果の型を調べた
○SELECT (SELECT 1)          →integer型
○SELECT (SELECT 'A')        →unknown型
文字列はunknown型になっちゃうみたい。

よって、以下のようにキャストしてあげればOK。
○SELECT 'Z' WHERE 'A' = (SELECT 'A')::text;
分類:PostgreSQL