简体   繁体   English

Jooq中的替代SQL DATE_FORMAT

[英]SQL DATE_FORMAT in Alternative in Jooq

I'm using 3.5 jooq version 我正在使用3.5 jooq版本

I know that jooq don't support DATE_FORMAT function but what are the alternatives 我知道jooq不支持DATE_FORMAT函数,但有哪些替代方案

This is the query that i want to create with JOOQ 这是我想用JOOQ创建的查询

SELECT DATE_FORMAT(`date_create`, '%d/%m/%Y') AS date_create FROM users
GROUP BY DATE_FORMAT(`date_create`, '%d/%m/%Y')

Whenever you need a vendor-specific SQL feature that is not supported by jOOQ out of the box, the plain SQL API will be your friend. 每当您需要开箱即用的jOOQ不支持的供应商特定的SQL功能时, 普通的SQL API将成为您的朋友。 Write a utility as such: 写一个实用程序:

public static Field<String> dateFormat(Field<Date> field, String format) {
    return DSL.field("date_format({0}, {1})", SQLDataType.VARCHAR, 
        field, DSL.inline(format));
}

You can then use it like any other jOOQ-provided function: 然后,您可以像任何其他jOOQ提供的功能一样使用它:

DSL.using(configuration)
   .select(dateFormat(USERS.DATE_CREATE, "%d/%m/%Y").as("date_create"))
   .from(USERS)
   .groupBy(dateFormat(USERS.DATE_CREATE, "%d/%m/%Y"))
   .fetch();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM