mysql的varchar做大小判断问题

李子做IT 2010-07-13 10:34:30
环境 hibernate3,struts2,spring2.0

表 staff(
`id` int(11) NOT NULL AUTO_INCREMENT,
`contractterm` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=gbk;

做设计的时候没想到contractterm这个字段会在后来做判断.现在发现用hibernate作出的判断select到的数和直接在mysql中搜索到的值结果不一样.


请问除了修改contractterm类型外,还有什么好的方法可以让hibernate做比较吗?

例如
contractterm
3

select * from staff where contractterm <=3


thanks by phoenix
...全文
600 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
李子做IT 2010-07-13
  • 打赏
  • 举报
回复
如果hql写成select * from Staff where contractterm+0 <=?

会报错Unknown column 'contractterm0' in 'where clause'

在mysql中使用contractterm+0是没问题的

但是在java中,拼出来的sql,怎么去解决这个问题.


如果hql写成select * from Staff where contractterm+? <=?

那传进去0会报转型异常,传"0"就正常了.

尝试成功.谢谢#1楼

WWWWA 2010-07-13
  • 打赏
  • 举报
回复
select * from staff where contractterm+0 <=3

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧