質問: sqlで'abc'をdbの'ab'にhit sqlite3をvc++2013で扱っています。 もしかしたら、単純な方法があるのかもしれないので質問させてください。 dbに渡す文字が'abc'でdb内のデータ'ab'にhitさせたいと思っています。 現状思いつく方法は select * from テーブル where キー like 'a%'; select * from テーブル where キー like 'ab%'; select * from テーブル where キー like 'abc%'; と渡す文字を一文字ずつ増やして検索して row数が0以上の一番小さい数のデータを取得するという方法しか思いつかないのですが。 何か良い方法はありますでしょうか?
回答: 型番-枝番 という形式が固定されているなら、 instrで - を探す→ - みつかったら以降を削除(substr) 型番の桁が決まっているなら substr(キー,型番の桁数) 等が考えられます。 また、「キー」列を「型番」「枝番」に分けたテーブルにして、使用時に必要なら 「型番」|| '-' || 「枝番」 みたいに連結する、とか。