【问题标题】:How to retrieve records with conditions and "String" numbers with HQL如何使用 HQL 检索具有条件和“字符串”数字的记录
【发布时间】:2012-11-28 09:37:46
【问题描述】:

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

35(数据库值)

这些值是字符串。不是号码。如何构建我的 HQL 查询字符串? 我不认为,使用“LIKE”子句将是解决方案,还是这样做? 我希望我的问题很清楚。

谢谢。

【问题讨论】:

    标签: hibernate hql


    【解决方案1】:

    请注意,当您的列(转换为数字)超过 numeric(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 作为默认值,因此它永远不会被视为有效值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多