重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ORACLEのSELECTのソートについて。

下記の要件を満たすSQLを教えてください。

テーブル名:CODE_MST
カラム:
コード値(CODE)
コード名称(CODE_NAME)

上記のテーブルからSELECTをする際、
コード名称の最初の一文字が「終」だった場合、
そのレコードが、
SELECT結果の一番下になるようにしたいです。
それ以外は、普通に昇順で。

 
また、この「終」から始まるレコードは複数あります。

データ例としては、
コード値、コード名称
00111、終あああ
00134、終いいい
20201、ううううう
00202、ええええ
10203、おお
10390、終かか

というように、コード値は飛び飛び、かつ、
SELECT結果の並び順とは関係ない採番体系なので、ソートのアテには出来ません。

 
上記のようにデータが格納されていた場合、
SELECT結果としては、
20201、ううううう
00202、ええええ
10203、おお
00111、終あああ
00134、終いいい
10390、終かか

という順番になって欲しいです。

A 回答 (1件)

SELECT CODE, CODE_NAME


FROM CODE_MST
ORDER BY CASE SUBSTR(CODE_NAME, 1, 1) WHEN '終' THEN 2 ELSE 1 END, CODE_NAME;

とか。
    • good
    • 0

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