[pgsql-jp: 36454] Re: CASE文について

Naoki.Kuniyoshi. nao_k @ din.or.jp
2005年 11月 28日 (月) 16:20:52 JST


kuniyoshiです。

 こういう事なのではないでしょうか?

SELECT cid, largeq, enq65, CASE WHEN enq65 BETWEEN 2 AND 8 THEN 1 ELSE 0
END FROM
kenqt WHERE cid = '235' AND largeq = '2' AND del_flag IS NULL;

 試してはいません。
 文字列比較か、数値比較かの違いだとぱっと見で見えました。

On Mon, 28 Nov 2005 16:05:36 +0900
水沼寛喜 <mizunuma @ m-design.com> wrote:

>お世話になっております。水沼です。
>
>CASE文で以下の様なSQL文を放っているのですが、
>期待する様な結果になりません。
>
>●実行したSQL文
>SELECT cid, largeq, enq65, CASE WHEN enq65 BETWEEN '2' AND '8' THEN 1 ELSE 0
>END FROM
>kenqt WHERE cid = '235' AND largeq = '2' AND del_flag IS NULL;
>
> cid | largeq | enq65 | case
>-----+--------+-------+------
> 235 |      2 | 29    |    1
> 235 |      2 | 29    |    1
> 235 |      2 | 13    |    0
> 235 |      2 | 19    |    0
> 235 |      2 | 31    |    1
> 235 |      2 | 38    |    1
>
>
>●期待する結果
>上記の様なSQL文ですと
>
> cid | largeq | enq65 | case
>-----+--------+-------+------
> 235 |      2 | 29    |    0
> 235 |      2 | 29    |    0
> 235 |      2 | 13    |    0
> 235 |      2 | 19    |    0
> 235 |      2 | 31    |    0
> 235 |      2 | 38    |    0
>
>となるはずですが、何故ならないのでしょうか?
>
>●環境
>
>OS:REDHAT7.3
>PostgreSQL:PostgreSQL 7.2.8
>
>ご教授の程、よろしくお願い致します。
>
>------------------------------------
>株式会社エム・ディ−・シ−   水沼 寛喜
>mizunuma @ m-design.com
>〒212-0012   川崎市幸区中幸町3-2
>TEL:044-555-3185 FAX:044-555-5700
>------------------------------------
>
>

-- 
"Naoki.Kuniyoshi." <nao_k @ din.or.jp>
"Naoki.Kuniyoshi." <nao @ mars95.to>





pgsql-jp メーリングリストの案内