【问题标题】:How to use jooq to express mysql REGEXP?如何使用jooq来表达mysql REGEXP?
【发布时间】:2012-08-05 06:44:11
【问题描述】:

我有这样的查询:

SELECT * 
FROM uni_customer 
WHERE mobile REGEXP '^(1[3,4,5,8]){1}\\d{9}$'

但是字段中没有REGEXP(String)这样的功能, 和 mysql 不支持如下语法:

SELECT * 
FROM uni_customer 
WHERE  regexp(mobile,'^(1[3,4,5,8]){1}\\d{9}$')

【问题讨论】:

    标签: java mysql sql jooq


    【解决方案1】:

    官方support for the REGEXP operator 即将在即将发布的jOOQ 2.5.0 中提供。同时,您可以自己扩展 jOOQ,如下所示:

    Condition regexp = Factory.condition("{0} REGEXP {1}", 
                                         UNI_CUSTOMER.MOBILE,
                                         val("^(1[3,4,5,8]){1}\\d{9}$"));
    

    或者在查询中:

    create.select()
          .from(UNI_CUSTOMER)
          .where(condition("{0} REGEXP {1}", 
                           UNI_CUSTOMER.MOBILE, val("^(1[3,4,5,8]){1}\\d{9}$")));
    

    【讨论】:

      猜你喜欢
      • 2018-11-24
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 2016-11-24
      • 2014-04-27
      • 2020-10-21
      • 1970-01-01
      相关资源
      最近更新 更多