寻找SQL查询LIKE(' 1077%')运算符ON DATA

时间:2014-12-19 06:13:44

标签: mysql sql database sql-like

在DATA(ONE ROW)之后寻找LIKE(' 1077%')运算符的SQL查询。

   Postalcode             Range_From        Range_To      // (columns name)
    Dubai                  10777            10985         // (data,table row)

结果应为(前3行)

01 - 迪拜10777
  02 - 迪拜10778
  03 - 迪拜10779
  04 - 迪拜10780< //它不应该包含在结果中,因为它不符合标准   05 - 迪拜10781< //它不应该包含在结果中,因为它不符合标准   06 - 迪拜10782< //它不应该包含在结果中,因为它不符合标准   .........

4 个答案:

答案 0 :(得分:0)

如果range-from不是字符串类型

select * from tableName where CAST(Range_From AS VARCHAR(10)) LIKE '1077%'

试试这个

Declare @fromRange int
Set @fromRange=10770
Declare @toRange int
Set @toRange=10780
        ;WITH CTE_Numbers AS (
        SELECT n = @fromRange
        UNION ALL
         SELECT n + 1 FROM CTE_Numbers WHERE n < @toRange
    )
    SELECT * 
    FROM CTE_Numbers num where CAST(n AS VARCHAR(9)) LIKE '1077%'

MySQL的:

SET @starts = 10777-1;

SELECT  @n := @n +1 AS vals
FROM mysql.help_relation , (SELECT @n:=@starts) tab where @n like '1077%' LIMIT 10 ;

答案 1 :(得分:0)

很简单。

select * from tableName where Range_From LIKE '1077%'

答案 2 :(得分:0)

select * from tableName where Range_from between 10770 and 10779

答案 3 :(得分:0)

所以你不想检索数据但是要生成它?因为你说你的表只有那一行。 所以你可以做的是,创建一个以10777开头,最大值为10779的序列 那么您可以使用序列来显示结果