0

クエリを実行できるようにする最善の方法を見つけようとしてい BETWEENますが、セルから文字を取り除くことができます...列は のようなシリアル番号で構成されてV123456おり、明らかにBETWEEN文字ではうまくいきません.

連載の最初の文字を本質的に無視して、その上で私のBETWEEN声明を実行できる方法はありますか?

Get me all records between V100000 and V100050
4

3 に答える 3

0
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 の間のすべてのシリアルを取得するスクリプトを実行しました。

于 2013-10-03T18:11:11.110 に答える
0

これを試して:

select * from records_table where serial >= "V100000" and serial <= "V150000"
于 2013-10-03T18:08:09.037 に答える
0

私は次のテストを行いました:

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

于 2013-10-03T18:15:10.473 に答える