我有一个表格,其中数字表示为字符串。
有没有办法让SQL / JPQL between
查询函数好像是整数?
目前between 100 and 110
返回1001,1002,1015等。它应该只返回100到110之间的数字。
无法更改列类型。
答案 0 :(得分:1)
您可以尝试在执行比较之前将值列转换为数值数据类型,如下所示:
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)