diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/ComparableExpressionBase.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/ComparableExpressionBase.java index 5a6a994f9..d5616a165 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/ComparableExpressionBase.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/ComparableExpressionBase.java @@ -13,6 +13,7 @@ */ package com.querydsl.core.types.dsl; +import com.querydsl.core.types.ConstantImpl; import com.querydsl.core.types.Ops; import org.jetbrains.annotations.Nullable; @@ -80,6 +81,28 @@ public abstract class ComparableExpressionBase extends Sim return coalesce; } + /** + * Create a {@code nullif(this, other)} expression + * + * @param other + * @return nullif(this, other) + */ + @Override + public ComparableExpression nullif(Expression other) { + return Expressions.comparableOperation(this.getType(), Ops.NULLIF, this, other); + } + + /** + * Create a {@code nullif(this, other)} expression + * + * @param other + * @return nullif(this, other) + */ + @Override + public ComparableExpression nullif(T other) { + return nullif(ConstantImpl.create(other)); + } + /** * Create an OrderSpecifier for descending order of this expression * diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java index e264924d6..85d225e67 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java @@ -840,4 +840,27 @@ public abstract class StringExpression extends LiteralExpression { return upper; } + + /** + * Create a {@code nullif(this, other)} expression + * + * @param other + * @return nullif(this, other) + */ + @Override + public StringExpression nullif(Expression other) { + return Expressions.stringOperation(Ops.NULLIF, this, other); + } + + /** + * Create a {@code nullif(this, other)} expression + * + * @param other + * @return nullif(this, other) + */ + @Override + public StringExpression nullif(String other) { + return nullif(ConstantImpl.create(other)); + } + }