[pgsql-jp: 38677] Re: SELECT文、NULL やスペースを含む列でのソートについて
藤澤
qsecofr1 @ hotmail.com
2007年 8月 22日 (水) 09:37:08 JST
指摘頂いた構文で、ひっかかっていたところは解決できて
いたので。。。
ただ、記述として、忠犬さんに指摘頂いたものの方が、
分かりやすいので、そちらを使おうと思っています。
# TRUE と FALSE の大小関係がピンとこなくて。
/藤澤
On Wed, 22 Aug 2007 09:45:15 +0900 (JST)
"chuuken kenkou" <ken_ken_1962 @ hotmail.com> wrote:
>
> c2でソートしていませんが、いいのですか?
>
> -- 追加
> INSERT INTO t1 VALUES ('10', 'ZZZZZZZZZZ');
> INSERT INTO t1 VALUES ('16', 'A');
>
> 上記のようなデータがあった場合、nullや''(長さ0の文字)は最後尾に持っていけ
> ますが、
> それ以外のc2の値ではソートされませんが?
>
> 質問者さんのやりたいことを実現するには、下記のように、c2もorder byに入れる必
> 要が
> あると思いますけど?
>
> SELECT
> c1,
> c2
> FROM t1
> ORDER BY c2 IS NULL OR TRIM(c2) = '', c2, c1;
>
>
>
>
> >ありがとうございます。
> >意図した通りに並びました。
> >/藤澤
> >
> >
> >On Tue, 21 Aug 2007 21:20:46 +0900 (JST)
> >"渋谷泰宏" <yasuhiro_shibutani @ ybb.ne.jp> wrote:
> >
> > > 渋谷です。
> > >
> > > ORDER句に式を書くといけると思いますよ。
> > >
> > > SELECT
> > > c1,
> > > c2
> > > FROM t1
> > > ORDER BY c2 IS NULL OR TRIM(c2) = '', c1;
> > >
>
> > > > -------------------------------------------------------
> > > > SELECT
> > > > c1,
> > > > c2,
> > > > CASE
> > > > WHEN c2 IS NULL OR TRIM(c2) = '' THEN 'ZZZZ'
> > > > ELSE c2
> > > > END AS c3
> > > > FROM t1
> > > > ORDER BY c3, c1;
> > > > -------------------------------------------------------
>
> _________________________________________________________________
> インターネットを見るなら最新のMSN版IE7で!ダウンロード無料
> http://promotion.msn.co.jp/ie7/
pgsql-jp メーリングリストの案内