- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ワイルドカード検索として合致する行を逆引きするには)
ワイルドカード検索で逆引きする方法とは?
このQ&Aのポイント
- ワイルドカード検索を使用して行を逆引きする方法について説明します。
- SQLを使用して指定した文字列をワイルドカードで検索できる最大の値を検索する方法を解説します。
- 効率的な方法として、データベースのクエリを使用して指定した条件に合致する行を逆引きすることができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
下記のSQLでどうでしょうか。 select top 1 * from mydata where 'P2342' Like key1 & "*" order by key1 desc;
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
データを%で囲んで(もしくは後方一致のみ?)マッチさせ、文字列長が 最大のものをえらぶとか? SQLによって文字列の結合はじゃっかん違いがあるので 正式にはSQLを指定しないとぶれる
質問者
お礼
コメント有難うございます。 貧弱なsql(DB2/UDB)なのでたぶん書けないと思います。
お礼
コメント有難うございます。 使っているsql(DB2/UDB)ではエラーになりますので、 select * from mydata where 'P2342' Like key1||'%' order by key1 desc fetch first 1 rows only と置き換えてみましたが、エラーは出ないものの、1件も合致しません。 ちょっと意味が違うんでしょうか?
補足
ちょっと書き直したら、出来ました。 select * from mydata where 'P2342' Like trim(key1)||'%' order by key1 desc fetch first 1 rows only SQLってこんなことが出来るんですね。勉強になりました。 どうも有難うございます。