1

標準のDAOとストレートSQLの代わりにJOOQを使用するように切り替えており、このSQLをJOOQコンテキストに変換しようとしています:

products は、MySQL 5.6 では INT(4) フィールドとして定義されています。

SELECT DISTINCT f1
FROM table_A WHERE 
    (f1 IS NOT NULL)
    AND (products & 255)
    AND (age <= 180) 
    AND (flag < 1)
ORDER BY f1; 

JOOQ バージョン:

context.selectDistinct(TABLE_A.F1).from(TABLE_A).where(TABLE_A.F1.isNotNull())
    .and(TABLE_A.flag.lessthan(UInteger.valueof(1))
    .and(TABLE_A.age.lessthan(UInteger.valueof(180))
.orderBy(TABLE_A.f1);

私が理解できないように見えるのは、(products & 255) ビット単位の操作を行う方法です。

4

1 に答える 1