从列中获取第一个免费号码

时间:2011-01-17 10:55:58

标签: sql hibernate db2 hql

我想从专栏获得第一个号码。

在第i列中有数字:

1 2 3 4 6 8

所以第一个免费号码是:5 将5插入此列 第二个电话应该返回:7 将7插入此列 另一个电话应该返回:9 [...]

我知道如何编写这个SQL,但问题是,这个列是图表类型。 所以它可能是这样的:

1 2 3 一个 b C 7 8 9

这也没问题,我可以使用一些isNumeric函数来过滤记录,但我应该在HQL中这样做。

我的想法是这样的:

SELECT distinct min(value)FROM table WHERE number + 1 NOT IN(SELECT charColumn FROM table)

由于

1 个答案:

答案 0 :(得分:2)

如果你知道如何在SQL中编写它,可以使用以下方法之一,通过使用hibernate来实现这一点。

  1. 您可以使用createSqlQuery()会话方法直接在hibernate中编写本机sql查询 有关详细信息,请参阅此URL; http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html
  2. OR - 查看您的Sql查询,并通过将其与您的实体类绑定从您的代码中调用它。