MyWql查询BETWEEN两个字符串有时不起作用

buc*_*bay 1 mysql

我有一个mysql查询,子查询是:

BETWEEN '5.00' AND '10.00' 
Run Code Online (Sandbox Code Playgroud)

这不会返回任何结果.

但是当我使用Floats或Ints时:

BETWEEN 5 and 10 
Run Code Online (Sandbox Code Playgroud)

有用

BETWEEN查询也适用于其他值AS字符串,但不适用于5和10.

例如:

BETWEEN '4' AND '5' 
Run Code Online (Sandbox Code Playgroud)

作品.

怎么会这样?

Pas*_*TIN 8

字符串和整数之间存在差异- 这就是为什么有几种不同的数据类型的原因:

比较整数时,您要比较它们的数值 ; 即10大于5.

比较字符串时,您使用的是字母比较 ; 即'10'小于'5',因为'1'小于'5'.