Mysql Query:当数字有连字符时,数字范围之间

时间:2012-08-18 17:42:24

标签: mysql sql

我有一个如下表格,我正在尝试获取reg_number01-01-02-000002

之间的所有值01-01-02-000004
id  name               reg_number
1   Charlie Sheen      01-01-02-000001
2.  John Cryer         01-01-02-000002
3.  Roger Federar      02-02-02-000001
4.  Jason Stathum      01-01-02-000003
5.  Robert De Niro     01-01-02-000004 

我已经尝试了以下代码来实现这一点,但它无法正常工作。是因为reg_number中的连字符?如果可以,请告诉我这个问题的解决方案? 谢谢:))

SELECT * FROM mytable 
WHERE reg_number >='01-01-02-000002' AND reg_number <= '01-01-02-000004'

2 个答案:

答案 0 :(得分:2)

我刚刚在SQL Fiddle上构建了它并且它可以正常工作。

代码是:

create table mytable (
      id int,
      name varchar(255),
      reg_number varchar(255)
  );

insert into mytable
    select 1, 'Charlie Sheen', '01-01-02-000001' union all
    select 2, 'John Cryer', '01-01-02-000002' union all
    select 3, 'Roger Federar', '02-02-02-000001' union all
    select 4, 'Jason Stathum', '01-01-02-000003' union all
    select 5, 'Robert De Niro', '01-01-02-000004'

然后是您的查询。

答案 1 :(得分:1)

代码怎么不行?你得到了哪些结果?对我有用的是:

set @reg_number = '01-01-02-000003'; 
select @reg_number >='01-01-02-000002' AND @reg_number <= '01-01-02-000004'; 

结果为真。