-sqlite3をVC++2013で扱っています。>SQLで'ABC'をDBの'AB'にHIT入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。11:30回答数:5件sqlite3をVC++2013で扱っています。したら、単純な方法があるのかもしれないので質問させてください。DBに渡す文字が'ABC'でDB内のデータ'AB'にHITさせたいと思っています。'ABC%';と渡す文字を一文字ずつ増やして検索してrow数が0以上の一番小さい数のデータを取得するという方法しか思いつかないのですが。何か良い方法はありますでしょうか?通報するこの質問への回答は締め切られました。ABC」に関するQ&A:ABCの歌の歌詞の意味が分かりません。07:07すみません。探す」のルールがはっきりしません。して、検索すればいい」ってなります。ヒット・どちらもヒットしないのどれなのでしょうか?その理由は?....等々。この「その理由」を整理して「一般的なルール」にすれば、他の方法も考えやすくなるでしょう。ヒットしたら採用、ヒットしなければ0件と、少ない方から実行すれば、全部実行する必要が無い場合があります。・先頭から一文字ずつ比較し、連続で一致する文字数を求める・上記の「一致数」の最も多いものを抽出するというのがルールなら「先頭から一文字ずつ比較し、連続で一致する文字数を求める」関数を作って、MAXの行を抽出する、という方法があります。この回答への補足なかなか説明不足ですいません。あと返事が遅れて申し訳ありません。後ろの端数-00が-01になってもDBの情報は共通のまま使えるという状況を想定しています。新たにABC000-01とかABC000-0Bとかの型番が入ってきたらABC000の情報をHITさせて出したいのです。DBに慣れてないものでこういった場合って結構あるんじゃないかと思ったので私の知らない素晴らしい方法が無いかとお尋ねした次第です。(現在半分諦めて、全型番のDBを作り、そのテーブルを介して共通情報をリンクする案を模索しています)>と、少ない方から実行すれば、全部実行する必要が無い場合があります。おお!確かにおっしゃる通りですね。ありがとうございます。>・先頭から一文字ずつ比較し、連続で一致する文字数を求める>・上記の「一致数」の最も多いものを抽出する>というのがルールなら「先頭から一文字ずつ比較し、連続で一致する文字数を求める」関数を作って、MAXの行を抽出する、という方法があります。通報するこの回答へのお礼ありがとうございました。SQL側に手段が無さそうなのでC++で普通に書きます。みつかったら以降を削除(substr)型番の桁が決まっているならsubstr(キー,型番の桁数)等が考えられます。「枝番」みたいに連結する、とか。回答ありがとうございます。「-」が省かれたりするんですよね。仰るとおり、C++で実現するしかなさそうですね。ありがとうございました。17:39事情がよく分からないのですが、正規表現を使ってもダメなのですか?この回答への補足ああ、ごめんなさい、返事が遅れました。後ろの端数-00が-01になってもDBの情報は共通のまま使えるという状況を想定しています。新たにABC000-01とかABC000-0Bとかの型番が入ってきたらABC000の情報をHITさせて出したいのです。通報するこの回答へのお礼ありがとうございます。'AB'にはできないの?この回答への補足あるモジュール(DBからデータを抽出する)に渡す引数が’ABC’でDB内にキーが’AB’のrowが入っている。’ABC’内に’AB’が入っているのでこれを合致したと判断して’AB’のrowデータを返したい。Likeや%を使うと引数の文字数が少ない場合はそのまま使えますが引数の文字数が多く、それでもHITさせたい場合どうしたものかと考えて引数の文字を左から順番に増やしてselect文を掛けるを繰り返して正解を導き出そうとしてこうなっています。通報するこの回答へのお礼ありがとうございます。意味がわかりませんが。この回答への補足ああ、ごめんなさい。select文で、’ABC’を渡して、DB内の’AB’のデータにHITさせたいということです。通報するこの回答へのお礼ありがとうございます。r1」に関するQ&A:高齢者が運転しやすい自動車を推薦してほしいです。select」に関するQ&A:sqlplusで表示が変なので、出力を整形したい。NULL値を空文字として取得したい。Debian(stretch)のMariaD...14datetime型でNULL値を入れたい。テーブル内のレコード...6datetime型でNULL値を入れたい。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。