代码之家  ›  专栏  ›  技术社区  ›  cmn

表示为字符串的数字的SQL/JQL“介于”

  •  1
  • cmn  · 技术社区  · 12 年前

    我有一个表,其中数字表示为字符串。

    有没有方法生成SQL/JQL between 查询函数是否像整数一样?

    目前 between 100 and 110 返回1001、1002、1015等。它应该只返回100和110之间的数字。

    无法更改列类型。

    1 回复  |  直到 12 年前
        1
  •  1
  •   shree.pat18    12 年前

    在进行比较之前,可以尝试将value列转换为数字数据类型,如下所示:

    SELECT *
    FROM YOURTABLE
    WHERE CAST(VALUE AS INT) BETWEEN 100 AND 110
    

    这将确保对数值而不是文本进行比较。

    如果要传递的参数 VARCHAR 数据类型作为参数,您还需要像这样显式地转换它们:

    SELECT *
    FROM YOURTABLE
    WHERE CAST(VALUE AS INT) BETWEEN (CAST @Lower AS INT) AND (CAST @Upper AS INT)