クエリを実行できるようにする最善の方法を見つけようとしてい BETWEEN
ますが、セルから文字を取り除くことができます...列は のようなシリアル番号で構成されてV123456
おり、明らかにBETWEEN
文字ではうまくいきません.
連載の最初の文字を本質的に無視して、その上で私のBETWEEN
声明を実行できる方法はありますか?
Get me all records between V100000 and V100050
SELECT * FROM table WHERE data BETWEEN 'variable1' AND 'variable2'
試してみて、うまくいかない場合はお知らせください。
だからあなたのために:
SELECT * FROM table WHERE serial BETWEEN 'V123456' AND 'V123466'
これは、最初の文字が同じである限り機能します。これは、テストとしてローカルサーバーで機能しました。IDとしてCol1、シリアルとしてCol2を持っています。7 つの変数 (V10000 - V10007) を挿入し、V10002 と V10005 の間のすべてのシリアルを取得するスクリプトを実行しました。
これを試して:
select * from records_table where serial >= "V100000" and serial <= "V150000"
私は次のテストを行いました:
create table test(
searchfield varchar(100)
);
insert into test values('V100');
insert into test values('V101');
insert into test values('V102');
insert into test values('V103');
insert into test values('V104');
insert into test values('V105');
insert into test values('V106');
insert into test values('V107');
insert into test values('V108');
insert into test values('V109');
insert into test values('V110');
テスト済みのクエリ:
select * from test t
where substring(t.searchfield,2) between 103 and 105;
Sqlfiddle はこちら: http://sqlfiddle.com/#!2/b5ecc/7