【问题标题】:converting mysql query to hibernate hql将mysql查询转换为hibernate hql
【发布时间】:2012-09-25 12:45:34
【问题描述】:

例如,当我尝试自动递增字母数字 ID(或数字系列)时出现问题

在Mysql“Sample”表'RefNo'列(Varchar类型)

AB7 AB10 AB9 AB8

上面我有四个条目,现在我想检索最大值(或最大值)。

为此,我尝试查询 as = SELECT MAX(RefNo) FROM sample; 但这给出的结果为“AB9”,这是错误的,它应该返回“AB10”作为结果。

为了在 Mysql 中得到这个,我将查询修改为 = SELECT MAX(CONVERT(SUBSTRING_INDEX(RefNo,'B',-1),UNSIGNED INTEGER)) from sample where RefNo like 'AB%'

这项工作在 mysql 中很好,但在 hibernate (hql) 中不支持查询。

希望您了解情况并请帮我解决问题。

【问题讨论】:

    标签: mysql hibernate


    【解决方案1】:

    您应该能够使用substring and cast 获取字符串的数字部分并将其转换为数字。类似的东西(未测试):

    select max(cast(substring(sample.refNo, 3) as INTEGER)) from Sample sample ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2017-01-06
      • 2018-03-27
      • 2013-06-07
      • 1970-01-01
      • 2013-07-02
      • 2014-06-26
      相关资源
      最近更新 更多