CaseWhenExpression<R extends Object> class
A CASE WHEN
expression without a base expression in sqlite.
This expression evaluates to the first value in BaseCaseWhenExpression.orderedCases
for which CaseWhen.when evaluates to true
.
- Inheritance
-
- Object
- Expression<
R> - CaseWhenExpression
- Available extensions
Constructors
-
CaseWhenExpression({required List<
CaseWhen< cases, Expression<bool, R> >R> ? orElse}) -
Creates a
CASE WHEN
expression from the independent components.
Properties
-
base
→ Expression<
bool> ? -
The optional base expression.
finalinherited
-
date
→ Expression<
String> -
Available on Expression<
Formats this datetime in the formatDateTime> , provided by the DateTimeExpressions extensionyear-month-day
.no setter -
datetime
→ Expression<
String> -
Available on Expression<
Formats this datetime in the formatDateTime> , provided by the DateTimeExpressions extensionyear-month-day hour:minute:second
.no setter -
day
→ Expression<
int> -
Available on Expression<
Extracts the day fromDateTime> , provided by the DateTimeExpressions extensionthis
datetime expression.no setter -
driftSqlType
→ BaseSqlType<
R> -
The
BaseSqlType
backing this expression.no setterinherited - hashCode → int
-
The hash code for this object.
no setterinherited
-
hour
→ Expression<
int> -
Available on Expression<
Extracts the hour fromDateTime> , provided by the DateTimeExpressions extensionthis
datetime expression.no setter - isLiteral → bool
-
Whether this expression is a literal. Some use-sites need to put
parentheses around non-literals.
no setterinherited
-
julianday
→ Expression<
double> -
Available on Expression<
Formats this datetime in the Julian day format - a fractional number of days since noon in Greenwich on November 24, 4714 B.C.DateTime> , provided by the DateTimeExpressions extensionno setter -
length
→ Expression<
int> -
Available on Expression<
Calls the sqlite functionString> , provided by the StringExpressionOperators extensionLENGTH
onthis
string, which counts the number of characters in this string. Note that, in most sqlite installations, length may not support all unicode rules.no setter -
minute
→ Expression<
int> -
Available on Expression<
Extracts the minute fromDateTime> , provided by the DateTimeExpressions extensionthis
datetime expression.no setter -
month
→ Expression<
int> -
Available on Expression<
Extracts the month fromDateTime> , provided by the DateTimeExpressions extensionthis
datetime expression.no setter -
orderedCases
→ Iterable<
CaseWhen< bool, R> > -
The when-then entries for this expression.
finalinherited
-
orElse
→ Expression<
R> ? -
The expression to use if no entry in
orderedCases
matched.finalinherited - precedence → Precedence
-
The precedence of this expression. This can be used to automatically put
parentheses around expressions as needed.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
second
→ Expression<
int> -
Available on Expression<
Extracts the second fromDateTime> , provided by the DateTimeExpressions extensionthis
datetime expression.no setter -
secondsSinceEpoch
→ Expression<
int> -
Available on Expression<
Returns an expression containing the amount of seconds from the unix epoch (January 1st, 1970) toDateTime> , provided by the DateTimeExpressions extensionthis
datetime expression.no setter -
time
→ Expression<
String> -
Available on Expression<
Formats this datetime in the formatDateTime> , provided by the DateTimeExpressions extensionhour:minute:second
.no setter -
unixepoch
→ Expression<
int> -
Available on Expression<
Formats this datetime as a unix timestamp - the number of seconds since 1970-01-01 00:00:00 UTC.DateTime> , provided by the DateTimeExpressions extensionno setter -
year
→ Expression<
int> -
Available on Expression<
Extracts the year fromDateTime> , provided by the DateTimeExpressions extensionthis
datetime expression.no setter
Methods
-
abs(
) → Expression< BigInt> -
Available on Expression<
Calculates the absolute value of this number.BigInt> , provided by the ArithmeticBigIntExpr extension -
abs(
) → Expression< DT> -
Available on Expression<
Calculates the absolute value of this number.DT> , provided by the ArithmeticExpr extension -
avg(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Return the average of all non-null values in this group.DT> , provided by the ArithmeticAggregates extension -
avg(
{Expression< bool> ? filter}) → Expression<DateTime> -
Available on Expression<
Return the average of all non-null values in this group. To only consider rows matching a predicate, you can set the optionalDateTime> , provided by the DateTimeAggregate extensionfilter
. Note thatfilter
is only available from sqlite 3.30, released on 2019-10-04. Most devices will use an older sqlite version. -
avg(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Return the average of all non-null values in this group.BigInt> , provided by the BigIntAggregates extension -
bitwiseAnd(
Expression< int> other) → Expression<int> -
Available on Expression<
Returns the bitwise-and operation betweenint> , provided by the BitwiseInt extensionthis
andother
. -
bitwiseAnd(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Returns the bitwise-and operation betweenBigInt> , provided by the BitwiseBigInt extensionthis
andother
. -
bitwiseOr(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Returns the bitwise-or operation betweenBigInt> , provided by the BitwiseBigInt extensionthis
andother
. -
bitwiseOr(
Expression< int> other) → Expression<int> -
Available on Expression<
Returns the bitwise-or operation betweenint> , provided by the BitwiseInt extensionthis
andother
. -
caseMatch<
T extends Object> ({required Map< Expression< when, Expression<R> , Expression<T> >T> ? orElse}) → Expression<T> -
A
CASE WHEN
construct using the current expression as a base.inherited -
cast<
D2 extends Object> ([BaseSqlType< D2> ? type]) → Expression<D2> -
Generates a
CAST(expression AS TYPE)
expression.inherited -
collate(
Collate collate) → Expression< String> -
Available on Expression<
Uses the givenString> , provided by the StringExpressionOperators extensioncollate
sequence when comparing this column to other values. -
contains(
String substring) → Expression< bool> -
Available on Expression<
Whether this expression containsString> , provided by the StringExpressionOperators extensionsubstring
. -
containsCase(
String substring, {bool caseSensitive = false}) → Expression< bool> -
Available on Expression<
Version ofString> , provided by the DriftNativeStringExtensions extensioncontains
that allows controlling case sensitivity better. -
count(
{bool distinct = false, Expression< bool> ? filter}) → Expression<int> -
Available on Expression<
Returns how often this expression is non-null in the current group.DT> , provided by the BaseAggregate extension -
dartCast<
D2 extends Object> ({CustomSqlType< D2> ? customType}) → Expression<D2> -
Casts this expression to an expression of
D
.inherited -
equals(
R compare) → Expression< bool> -
Whether this column is equal to the given value, which must have a fitting
type. The
compare
value will be written as a variable using prepared statements, so there is no risk of an SQL-injection.inherited -
equalsExp(
Expression< R> compare) → Expression<bool> -
Whether this expression is equal to the given expression.
inherited
-
equalsNullable(
R? compare) → Expression< bool> -
Compares the value of this column to
compare
ornull
.inherited -
groupConcat(
{String separator = ',', bool distinct = false, Expression< bool> ? filter}) → Expression<String> -
Available on Expression<
Returns the concatenation of all non-null values in the current group, joined by theDT> , provided by the BaseAggregate extensionseparator
. -
iif<
T extends Object> (Expression< bool> predicate, Expression<T> ifFalse) → Expression<T> -
Evaluates to
this
ifpredicate
is true, otherwise evaluates toifFalse
.inherited -
isBetween(
Expression< DT> lower, Expression<DT> higher, {bool not = false}) → Expression<bool> -
Available on Expression<
Returns an expression evaluating to true if this expression is betweenDT> , provided by the ComparableExpr extensionlower
andhigher
(both inclusive). -
isBetweenValues(
DT lower, DT higher, {bool not = false}) → Expression< bool> -
Available on Expression<
Returns an expression evaluating to true if this expression is betweenDT> , provided by the ComparableExpr extensionlower
andhigher
(both inclusive). -
isBiggerOrEqual(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is bigger than or equal to he other expression.DT> , provided by the ComparableExpr extension -
isBiggerOrEqualValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is bigger than or equal to he other value.DT> , provided by the ComparableExpr extension -
isBiggerThan(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly bigger than the other expression.DT> , provided by the ComparableExpr extension -
isBiggerThanValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly bigger than the other value.DT> , provided by the ComparableExpr extension -
isExp(
Expression< R> other) → Expression<bool> -
Generates an
IS
expression in SQL, comparing this expression with theother
expression.inherited -
isIn(
Iterable< R> values) → Expression<bool> -
An expression that is true if
this
resolves to any of the values invalues
.inherited -
isInExp(
List< Expression< expressions) → Expression<R> >bool> -
An expression that evaluates to
true
if this expression resolves to a value that one of theexpressions
resolve to as well.inherited -
isInQuery(
BaseSelectStatement select) → Expression< bool> -
An expression checking whether
this
is included in any row of the providedselect
statement.inherited -
isNotExp(
Expression< R> other) → Expression<bool> -
Generates an
IS NOT
expression in SQL, comparing this expression with theother
expression.inherited -
isNotIn(
Iterable< R> values) → Expression<bool> -
An expression that is true if
this
does not resolve to any of the values invalues
.inherited -
isNotInExp(
List< Expression< expressions) → Expression<R> >bool> -
An expression that evaluates to
true
if this expression does not resolve to any value that theexpressions
resolve to.inherited -
isNotInQuery(
BaseSelectStatement select) → Expression< bool> -
An expression checking whether
this
is not included in any row of the providedselect
statement.inherited -
isNotNull(
) → Expression< bool> -
Expression that is true if the inner expression resolves to a non-null
value.
inherited
-
isNotValue(
R value) → Expression< bool> -
Generates an
IS NOT
expression in SQL, comparing this expression with the Dartvalue
.inherited -
isNull(
) → Expression< bool> -
Expression that is true if the inner expression resolves to a null value.
inherited
-
isSmallerOrEqual(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is smaller than or equal to he other expression.DT> , provided by the ComparableExpr extension -
isSmallerOrEqualValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is smaller than or equal to he other value.DT> , provided by the ComparableExpr extension -
isSmallerThan(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly smaller than the other expression.DT> , provided by the ComparableExpr extension -
isSmallerThanValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly smaller than the other value.DT> , provided by the ComparableExpr extension -
isValue(
R value) → Expression< bool> -
Generates an
IS
expression in SQL, comparing this expression with the Dartvalue
.inherited -
json(
) → Expression< String> -
Available on Expression<
ReadsString> , provided by the JsonExtensions extensionthis
expression as a JSON structure and outputs the JSON in a minified format. -
json(
) → Expression< String> -
Available on Expression<
Reads this binary JSONB structure and emits its textual representation as minified JSON.Uint8List> , provided by the JsonbExtensions extension -
jsonArrayLength(
[String? path]) → Expression< int> -
Available on Expression<
Assuming that this string is a json array, returns the length of this json array.String> , provided by the JsonExtensions extension -
jsonArrayLength(
[String? path]) → Expression< int> -
Available on Expression<
Assuming thatUint8List> , provided by the JsonbExtensions extensionthis
is an expression evaluating to a binary JSONB array, returns the length of the array. -
jsonb(
) → Expression< Uint8List> -
Available on Expression<
ReadsString> , provided by the JsonExtensions extensionthis
expression as a JSON structure and outputs the JSON in a binary format internal to sqlite3. -
jsonEach(
DatabaseConnectionUser database, [String? path]) → JsonTableFunction -
Available on Expression<
Calls theUint8List> , provided by the JsonbExtensions extensionjson_each
table-valued function onthis
binary JSON buffer, optionally usingpath
as the root path. -
jsonEach(
DatabaseConnectionUser database, [String? path]) → JsonTableFunction -
Available on Expression<
Calls theString> , provided by the JsonExtensions extensionjson_each
table-valued function onthis
string, optionally usingpath
as the root path. -
jsonExtract<
T extends Object> (String path) → Expression< T> -
Available on Expression<
Assuming thatUint8List> , provided by the JsonbExtensions extensionthis
is an expression evaluating to a binary JSONB object or array, extracts the part of the structure identified bypath
. -
jsonExtract<
T extends Object> (String path) → Expression< T> -
Available on Expression<
Assuming that this string is a json object or array, extracts a part of this structure identified byString> , provided by the JsonExtensions extensionpath
. -
jsonTree(
DatabaseConnectionUser database, [String? path]) → JsonTableFunction -
Available on Expression<
Calls theString> , provided by the JsonExtensions extensionjson_tree
table-valued function onthis
string, optionally usingpath
as the root path. -
jsonTree(
DatabaseConnectionUser database, [String? path]) → JsonTableFunction -
Available on Expression<
Calls theUint8List> , provided by the JsonbExtensions extensionjson_tree
table-valued function onthis
binary JSON buffer, optionally usingpath
as the root path. -
like(
String regex) → Expression< bool> -
Available on Expression<
Whether this column matches the given pattern. For details on what patters are valid and how they are interpreted, check out this tutorial.String> , provided by the StringExpressionOperators extension -
likeExp(
Expression< String> regex) → Expression<bool> -
Available on Expression<
Whether this column matches the given expression. For details on what patters are valid and how they are interpreted, check out this tutorial.String> , provided by the StringExpressionOperators extension -
lower(
) → Expression< String> -
Available on Expression<
Calls the sqlite functionString> , provided by the StringExpressionOperators extensionLOWER
onthis
string. Please note that, in most sqlite installations, this only affects ascii chars. -
max(
{Expression< bool> ? filter}) → Expression<BigInt> -
Available on Expression<
Return the maximum of all non-null values in this group.BigInt> , provided by the BigIntAggregates extension -
max(
{Expression< bool> ? filter}) → Expression<DateTime> -
Available on Expression<
Return the maximum of all non-null values in this group.DateTime> , provided by the DateTimeAggregate extension -
max(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the maximum of all non-null values in this group.DT> , provided by the ArithmeticAggregates extension -
max(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the maximum of all non-null values in this group.DT> , provided by the BaseAggregate extension -
min(
{Expression< bool> ? filter}) → Expression<BigInt> -
Available on Expression<
Return the minimum of all non-null values in this group.BigInt> , provided by the BigIntAggregates extension -
min(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the minimum of all non-null values in this group.DT> , provided by the BaseAggregate extension -
min(
{Expression< bool> ? filter}) → Expression<DateTime> -
Available on Expression<
Return the minimum of all non-null values in this group.DateTime> , provided by the DateTimeAggregate extension -
min(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the minimum of all non-null values in this group.DT> , provided by the ArithmeticAggregates extension -
modify(
DateTimeModifier modifier) → Expression< DateTime> -
Available on Expression<
Apply a modifier that alters the date and/or time.DateTime> , provided by the DateTimeExpressions extension -
modifyAll(
Iterable< DateTimeModifier> modifiers) → Expression<DateTime> -
Available on Expression<
Applies modifiers that alters the date and/or time.DateTime> , provided by the DateTimeExpressions extension -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
not(
) → Expression< bool> -
Available on Expression<
Negates this boolean expression. The returned expression is true ifbool> , provided by the BooleanExpressionOperators extensionthis
is false, and vice versa. -
nullIf(
Expression< R> matcher) → Expression<R> -
Returns
null
ifmatcher
is equal to this expression,this
otherwise.inherited -
regexp(
String regex, {bool multiLine = false, bool caseSensitive = true, bool unicode = false, bool dotAll = false}) → Expression< bool> -
Available on Expression<
Matches this string against the regular expression inString> , provided by the StringExpressionOperators extensionregex
. -
roundToInt(
) → Expression< int> -
Available on Expression<
Rounds this expression to the nearest integer.BigInt> , provided by the ArithmeticBigIntExpr extension -
roundToInt(
) → Expression< int> -
Available on Expression<
Rounds this expression to the nearest integer.DT> , provided by the ArithmeticExpr extension -
strftime(
String format) → Expression< String> -
Available on Expression<
Formats this datetime according to the format string specified as the first argument. The format string supports the most common substitutions found in the strftime() function from the standard C library plus two new substitutions, %f and %J. The following is a complete list of valid strftime() substitutions:DateTime> , provided by the DateTimeExpressions extension -
substr(
int start, [int? length]) → Expression< String> -
Available on Expression<
Calls theString> , provided by the StringExpressionOperators extensionsubstr
function on this string. -
substrExpr(
Expression< int> start, [Expression<int> ? length]) → Expression<String> -
Available on Expression<
Calls theString> , provided by the StringExpressionOperators extensionsubstr
function with arbitrary expressions as arguments. -
sum(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Calculate the sum of all non-null values in the group.DT> , provided by the ArithmeticAggregates extension -
sum(
{Expression< bool> ? filter}) → Expression<BigInt> -
Available on Expression<
Calculate the sum of all non-null values in the group.BigInt> , provided by the BigIntAggregates extension -
toString(
) → String -
A string representation of this object.
inherited
-
total(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Calculate the sum of all non-null values in the group.BigInt> , provided by the BigIntAggregates extension -
total(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Calculate the sum of all non-null values in the group.DT> , provided by the ArithmeticAggregates extension -
trim(
) → Expression< String> -
Available on Expression<
Removes spaces from both ends of this string.String> , provided by the StringExpressionOperators extension -
trimLeft(
) → Expression< String> -
Available on Expression<
Removes spaces from the beginning of this string.String> , provided by the StringExpressionOperators extension -
trimRight(
) → Expression< String> -
Available on Expression<
Removes spaces from the end of this string.String> , provided by the StringExpressionOperators extension -
upper(
) → Expression< String> -
Available on Expression<
Calls the sqlite functionString> , provided by the StringExpressionOperators extensionUPPER
onthis
string. Please note that, in most sqlite installations, this only affects ascii chars. -
writeAroundPrecedence(
GenerationContext context, Precedence precedence) → void -
Writes this expression into the GenerationContext, assuming that there's
an outer expression with
precedence
. If the Expression.precedence ofthis
expression is lower, it will be wrap}ped ininherited -
writeInner(
GenerationContext ctx, Expression< Object> inner) → void -
If this Expression wraps an
inner
expression, this utility method can be used inside writeInto to write that inner expression while wrapping it in parentheses if necessary.inherited -
writeInto(
GenerationContext context) → void -
Writes this component into the
context
by writing to its GenerationContext.buffer or by introducing bound variables. When writing into the buffer, no whitespace around the this component should be introduced. When a component consists of multiple composed component, it's responsible for introducing whitespace between its child components.inherited
Operators
-
operator &(
Expression< bool> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true iff bothbool> , provided by the BooleanExpressionOperators extensionthis
andother
are true. -
operator *(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs a multiplication (BigInt> , provided by the ArithmeticBigIntExpr extensionthis
*other
) in sql. -
operator *(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs a multiplication (DT> , provided by the ArithmeticExpr extensionthis
*other
) in sql. -
operator +(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs an addition (BigInt> , provided by the ArithmeticBigIntExpr extensionthis
+other
) in sql. -
operator +(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs an addition (DT> , provided by the ArithmeticExpr extensionthis
+other
) in sql. -
operator +(
Duration duration) → Expression< DateTime> -
Available on Expression<
Adds aDateTime> , provided by the DateTimeExpressions extensionduration
to this date. -
operator +(
Expression< String> other) → Expression<String> -
Available on Expression<
Performs a string concatenation in sql by appendingString> , provided by the StringExpressionOperators extensionother
tothis
. -
operator -(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs a subtraction (BigInt> , provided by the ArithmeticBigIntExpr extensionthis
-other
) in sql. -
operator -(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs a subtraction (DT> , provided by the ArithmeticExpr extensionthis
-other
) in sql. -
operator -(
Duration duration) → Expression< DateTime> -
Available on Expression<
SubtractsDateTime> , provided by the DateTimeExpressions extensionduration
from this date. -
operator /(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs a division (BigInt> , provided by the ArithmeticBigIntExpr extensionthis
/other
) in sql. -
operator /(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs a division (DT> , provided by the ArithmeticExpr extensionthis
/other
) in sql. -
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator unary-(
) → Expression< BigInt> -
Available on Expression<
Returns the negation of this value.BigInt> , provided by the ArithmeticBigIntExpr extension -
operator unary-(
) → Expression< DT> -
Available on Expression<
Returns the negation of this value.DT> , provided by the ArithmeticExpr extension -
operator |(
Expression< bool> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true ifbool> , provided by the BooleanExpressionOperators extensionthis
orother
are true. -
operator ~(
) → Expression< BigInt> -
Available on Expression<
Flips all bits in this value (turningBigInt> , provided by the BitwiseBigInt extension0
to1
and vice-versa) and returns the result. -
operator ~(
) → Expression< int> -
Available on Expression<
Flips all bits in this value (turningint> , provided by the BitwiseInt extension0
to1
and vice-versa) and returns the result.