在字符串中包含数字时,虽然它们看起来像数字,但它们实际上是字符。因此,字符串类型数字不能像数字类型一样进行比较。字符串比较时是按照字符的ASCII码值进行比较的,而不是按照数字大小进行比较的。因此,如果两个字符串数字进行比较时,可能会出现意想不到的结果。如果需要对数字进行比较,应该将其转换为数字类型,再进行比较。可以使用parseInt()或parseFloat()函数将字符串数字转换为数字类型。
如果数字的位数都一样是可以比较的,否则只能转换成数值型再比较。
当数据表中字段被设置为String类型(如年龄),但须要根据该字段的数据大小进行条件查找时的方式:spa
在Mybatis的XML文件中将查询条件参数age由String转为int进行比较,以下,给age参数+0处理:test
<if test="age != null and ''!=age" >
AND MIN_AGE <![CDATA[ <= ]]> #{age}+0
AND MAX_AGE <![CDATA[ >= ]]> #{age}+0
</if>数据