一回も披露したことのない豆知識

あるtextフィールドに '10010000' のように1と0で構成されたものがあります。
このフィールドにたいして、ソート(order by)を行いたいのですが、
何桁目が1のものを上位に、のようなソートを行いたいと思っています。

任意の桁の値だけ取り出せないかと、
型変換、フォーマットや算術演算を使ってみましたがうまくできませんでした。

たとえば
'10010000' から5桁目の値 '1' のみを取り出す方法です。

ソートで使用するのが目的です。

わかります方いらっしゃいましたら、よろしくお願いいたします。

A 回答 (1件)

TEXT型で入っているんだったら、文字列操作でいけるでしょう。



> '10010000' から5桁目の値 '1' のみを取り出す方法です。

「右から5桁目」=「左から4文字目」ということでしたら、列名XXXに対して、

SELECT … ORDER BY substr(XXX,4,1) DESC

で出来るかと思います。

桁数が8桁とはかぎらず「右から5文字目」を見る必要があるなら、

SELECT … ORDER BY substr(XXX,length(XXX)-5+1,1) DESC

で。
    • good
    • 0
この回答へのお礼

ありがとうございます!出来ました。

お礼日時:2011/04/04 17:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す