我有这样的查询:
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}$')
最佳答案
官方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}$")));
关于java - 如何使用jooq来表达mysql REGEXP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11859734/