![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
うまく表現ができないのですが、
指定した文字列をワイルドカードで検索できる最大の値を検索したいと思っています。
こんなことはSQLを使って効率的に行う方法は無いでしょうか?
例)
M1
M2
P
P2
P22
P23
P233
P2345
と並んでいる表に対し、条件として、P2342と入れた時に、P23の行を検索したい訳です。
(P,P2,P23もP2342に含まれるが、その中で最も大きな値)
select * from mydata where key1 > 'P2342' order by key1 desc
として、逆読みして完全部分一致するレコードが見つかるまで、見つからない場合は、
対象より1文字も合致しないレコードに至るまで、探すしか方法は無いものでしょうか?
No.2ベストアンサー
- 回答日時:
下記のSQLでどうでしょうか。
select top 1 * from mydata where 'P2342' Like key1 & "*" order by key1 desc;
この回答への補足
ちょっと書き直したら、出来ました。
select * from mydata where 'P2342' Like trim(key1)||'%' order by key1 desc
fetch first 1 rows only
SQLってこんなことが出来るんですね。勉強になりました。
どうも有難うございます。
コメント有難うございます。
使っているsql(DB2/UDB)ではエラーになりますので、
select * from mydata where 'P2342' Like key1||'%' order by key1 desc
fetch first 1 rows only
と置き換えてみましたが、エラーは出ないものの、1件も合致しません。
ちょっと意味が違うんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- 経済学 経済学のベルトラン均衡について教えてください。 4 2022/11/23 16:37
- Visual Basic(VBA) 先頭と末尾を指定して連続した数字を入力 1 2022/09/14 13:12
- 工学 2電力測定の実験で出てきた公式で、cosθは力率を表していて、P1とP2は電力計のそれぞれの値です。 2 2023/05/12 11:11
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- 統計学 こんな問題を使って教育するのは、文科省の方針ですか。 3 2022/06/17 09:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- その他(プログラミング・Web制作) Pythonでの不均一なサイコロをつくるプログラミングがわかりません 4 2022/06/07 13:10
- 数学 確率の最大値を求める方法について 確率 Pn<P(n+1)⇄Pn/P(n+1)<1のときと Pn>P 2 2022/07/29 20:15
- ドライブ・ストレージ SSDについて 3 2022/04/18 11:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【PL/SQL】FROM区に変数を使う方法
-
where句中のtrim関数について
-
「数字で始まらない」ものを抽...
-
SQL*Loader Append
-
group byの並び順を変えるだけ...
-
トランザクションログを出力せ...
-
単一グループのグループ関数で...
-
oracle DB内のデータを増幅す...
-
AccessのSQL文で1件のみヒット...
-
引数によってwhere句を切り替え...
-
アクセスのレポートでレコード...
-
SELECT FOR UPDATE で該当レコ...
-
あるカラムに同じ値を持つレコ...
-
oracle10g update件数の取得方法
-
データ
-
Oracle10gからkeySQLで集計データ
-
連続したデータを条件とするSQL...
-
PL/SQL内の共通関数の引数にフ...
-
osqleditについて
-
SQLで条件にヒットしたレコード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
【PL/SQL】FROM区に変数を使う方法
-
SQL*Loader Append
-
where句中のtrim関数について
-
AccessのSQL文で1件のみヒット...
-
group byの並び順を変えるだけ...
-
アクセスのレポートでレコード...
-
トランザクションログを出力せ...
-
データ
-
SELECT FOR UPDATE で該当レコ...
-
SQLで条件にヒットしたレコード...
-
「数字で始まらない」ものを抽...
-
引数によってwhere句を切り替え...
-
1レコード全てを改行なしで表...
-
BLOB型項目をSQLの検索条件に指...
-
updateで複数行更新したい
-
【SQL】違うフィールド同士の集...
-
osqleditについて
-
レコードの更新履歴について
-
あるカラムに同じ値を持つレコ...
おすすめ情報