我试图找出能够执行 BETWEEN
查询的最佳方式,但能够从单元格中删除一个字母......该列由一个序列号组成,例如V123456
,显然BETWEEN
不能很好地处理字母.
有没有一种方法可以让我基本上忽略连续剧的第一个字符并在上面运行我的BETWEEN
声明?
Get me all records between V100000 and V100050
我做了以下测试:
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
尝试这个:
select * from records_table where serial >= "V100000" and serial <= "V150000"
SELECT * FROM table WHERE data BETWEEN 'variable1' AND 'variable2'
试试看,如果不起作用,请告诉我。
所以对你来说:
SELECT * FROM table WHERE serial BETWEEN 'V123456' AND 'V123466'
只要您开头的字母相同,这将起作用。作为测试,这在我的本地服务器上对我有用。我有 Col1 作为 ID,Col2 作为序列号。我插入了 7 个变量(V10000 - V10007)并运行了一个脚本来获取 V10002 和 V10005 之间的所有序列,它起作用了。