1

次のようなクエリがあります。

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

しかし、in field のような関数はなくREGEXP(String)、mysql は次のような構文をサポートしていません。

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

1 に答える 1

1

オペレーターの公式サポートはREGEXP、次期 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}$")));
于 2012-08-08T14:59:41.747 に答える