• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ワイルドカード検索として合致する行を逆引きするには)

ワイルドカード検索で逆引きする方法とは?

このQ&Aのポイント
  • ワイルドカード検索を使用して行を逆引きする方法について説明します。
  • SQLを使用して指定した文字列をワイルドカードで検索できる最大の値を検索する方法を解説します。
  • 効率的な方法として、データベースのクエリを使用して指定した条件に合致する行を逆引きすることができます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

下記のSQLでどうでしょうか。 select top 1 * from mydata where 'P2342' Like key1 & "*" order by key1 desc;

hatsuzo
質問者

お礼

コメント有難うございます。 使っているsql(DB2/UDB)ではエラーになりますので、 select * from mydata where 'P2342' Like key1||'%' order by key1 desc fetch first 1 rows only と置き換えてみましたが、エラーは出ないものの、1件も合致しません。 ちょっと意味が違うんでしょうか?

hatsuzo
質問者

補足

ちょっと書き直したら、出来ました。 select * from mydata where 'P2342' Like trim(key1)||'%' order by key1 desc fetch first 1 rows only SQLってこんなことが出来るんですね。勉強になりました。 どうも有難うございます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

データを%で囲んで(もしくは後方一致のみ?)マッチさせ、文字列長が 最大のものをえらぶとか? SQLによって文字列の結合はじゃっかん違いがあるので 正式にはSQLを指定しないとぶれる

hatsuzo
質問者

お礼

コメント有難うございます。 貧弱なsql(DB2/UDB)なのでたぶん書けないと思います。

関連するQ&A