
うまく表現ができないのですが、
指定した文字列をワイルドカードで検索できる最大の値を検索したいと思っています。
こんなことは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ランキング
-
レコードの選択の仕方
-
GROUP BY 又は HAVING句?
-
MERGE文について
-
nullなどの不正なデータが存在...
-
2つの情報を1つのSQLで取...
-
ODBC SQL構文 VBA
-
小規模なデータベース
-
DISTINCTについて
-
oracle DB内のデータを増幅す...
-
負荷試験の後重くなります。。。
-
フラグがたっているデータがあ...
-
ユニークレコードの定義
-
【SQL】違うフィールド同士の集...
-
SELECT文の結果を変数に・・・
-
MySQLからフィールド名のリスト...
-
オープンオフィス
-
チェックボックスから得る値を...
-
UPDATE時にundefinedがセットさ...
-
付録CDなどの動画をWMPで...
-
時間の判定条件
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
group byの並び順を変えるだけ...
-
where句中のtrim関数について
-
【PL/SQL】FROM区に変数を使う方法
-
トランザクションログを出力せ...
-
SELECT FOR UPDATE で該当レコ...
-
引数によってwhere句を切り替え...
-
データ
-
SQL*Loader Append
-
AccessのSQL文で1件のみヒット...
-
updateで複数行更新したい
-
アクセスのレポートでレコード...
-
「数字で始まらない」ものを抽...
-
SQLで条件にヒットしたレコード...
-
デフォルトでデータが表示され...
-
osqleditについて
-
PL/SQL内の共通関数の引数にフ...
-
1レコード全てを改行なしで表...
-
トリガからプロシージャのコー...
-
BLOB型項目をSQLの検索条件に指...
おすすめ情報