如何使用HQL检索条件和“字符串”数字的记录

时间:2012-11-28 09:37:46

标签: hibernate hql

我正在尝试在我的java Web应用程序bean中编写HQL查询。在数据库表中,有一列包含数字数据但不包含数字,作为字符串(varchar2)。这是我项目设计的一部分。用户将在GUI上输入数值,并使用HQL查询,bean将检索数据。一个例子:

35(数据库值)< = 40(用户输入的值)

这些值是字符串。不是数字。如何构建我的HQL查询字符串? 我不认为,使用“LIKE”条款会解决,还是呢? 我希望我的问题很明确。

谢谢。

1 个答案:

答案 0 :(得分:0)

请注意,当您的列(已转换为数字)超过数字(19,2)

时,我的解决方案会崩溃
where (case when isNumeric(YOUR_COLUMN) = 1 then cast(YOUR_COLUMN as big_integer) else 99999 end) < USER_INPUT_VALUE

也许您需要调整else分支 - 当YOUR_COLUMN不是数字时,我选择 99999 作为默认值,因此它永远不会被视为有效值