使用JPA和CriteriaBuilder选择表格中的行,其中列长度为两个值

时间:2016-08-20 21:53:56

标签: mysql jpa eclipselink

我有一个数据库表,其中一列包含代码(此列的数据类型是varchar)。代码在1到99之间的行是国家/地区。在0101和9999之间的代码是两个第一个字符与上述contry代码相同的县。

前:

  • 代码:01地点:美国
  • 代码:0101位置阿拉巴马州
  • 代码:0102位置阿拉斯加

首先,选择所有国家/地区应该使用哪个运营商? 从表中选择*,其中代码在00到99之间; select * from table where char_length(code)< = 2; 还有其他建议吗?

我在我的应用程序中使用JPA和CriteriaBuilder。我已经找到了如何解决之间的语句,但我的猜测是长度选项是两个中更好的。是否可以使用CriteriaBuilder构建第二个查询,或者如果有人提供了更好的建议来选择它。

1 个答案:

答案 0 :(得分:-1)

您可以使用此SQL语句:

select * from table where code between '00' and '99' and CHAR_LENGTH(code) = 2;

希望这有帮助! 最好的。