java—如何从两列中获取一个值

8fsztsew  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(225)

我有这个:

column1 column2 column3
=======================  
1. A;    null;    E  
2. Z;     B;    null

我想得到这两行,但是对于第一行,我得到column2的值,如果不为null,否则我得到column3的值,第二行有一些逻辑。
结果是:(a;e) 和(z;(二)

JPAQuery query = new JPAQuery(entityManager);
    QSubject subject = QSubject.subject;
    BooleanExpression conditions = subject.id.eq(id);
    return query.from(subject).where(conditions)
            .list(subject.title,subject.dateModif,subject.dateCreation);

如果datemodif为空,我想要得到datecreation。
我认为在这种情况下在sql中可以使用coalesce,但我不知道在java中如何使用openjpa;

jtw3ybtb

jtw3ybtb1#

使用 coalesce() :

select column1, coalesce(column2, column3) as column2
from t;

此函数接受多个参数并返回第一个非参数- NULL 价值观。

相关问题