我的一列中有非数值。我在下面使用运算符之间,但我认为不建议在运算符之间使用非数值,有人可以建议我如何重写这个查询。BETWEEN 显示正确的结果,但我不能在此处将其用于非数值:
select * from test
where textnumber between ('a64') AND ('a64.3');
我的一列中有非数值。我在下面使用运算符之间,但我认为不建议在运算符之间使用非数值,有人可以建议我如何重写这个查询。BETWEEN 显示正确的结果,但我不能在此处将其用于非数值:
select * from test
where textnumber between ('a64') AND ('a64.3');
您总是可以将 aBETWEEN
分解成它的组成部分。
SELECT *
FROM test
WHERE textnumber >= 'a64'
AND textnumber <= 'a64.3';
事实上,如果您阅读 Aaron Bertrand 的博客,BETWEEN 和魔鬼有什么共同点?你会看到他实际上推荐了它。特别是对于日期,虽然这不是你正在使用的。
还要注意字符串和数字不一样。例如'a64.30'
将NOT
被上述查询拾取。