frompypikaimportfunctionsfromtortoise.expressionsimportAggregate,Function############################################################################### Standard functions##############################################################################
[docs]classTrim(Function):""" Trims whitespace off edges of text. :samp:`Trim("{FIELD_NAME}")` """database_func=functions.Trim
[docs]classLength(Function):""" Returns length of text/blob. :samp:`Length("{FIELD_NAME}")` """database_func=functions.Length
[docs]classCoalesce(Function):""" Provides a default value if field is null. :samp:`Coalesce("{FIELD_NAME}", {DEFAULT_VALUE})` """database_func=functions.Coalesce
[docs]classLower(Function):""" Converts text to lower case. :samp:`Lower("{FIELD_NAME}")` """database_func=functions.Lower
[docs]classUpper(Function):""" Converts text to upper case. :samp:`Upper("{FIELD_NAME}")` """database_func=functions.Upper
[docs]classConcat(Function):""" Concate field or constant text. Be care, DB like sqlite3 has no support for `CONCAT`. :samp:`Concat("{FIELD_NAME}", {ANOTHER_FIELD_NAMES or CONSTANT_TEXT}, *args)` """database_func=functions.Concat
[docs]classCount(Aggregate):""" Counts the no of entries for that column. :samp:`Count("{FIELD_NAME}")` """database_func=functions.Count
[docs]classSum(Aggregate):""" Adds up all the values for that column. :samp:`Sum("{FIELD_NAME}")` """database_func=functions.Sumpopulate_field_object=True
[docs]classMax(Aggregate):""" Returns largest value in the column. :samp:`Max("{FIELD_NAME}")` """database_func=functions.Maxpopulate_field_object=True
[docs]classMin(Aggregate):""" Returns smallest value in the column. :samp:`Min("{FIELD_NAME}")` """database_func=functions.Minpopulate_field_object=True
[docs]classAvg(Aggregate):""" Returns average (mean) of all values in the column. :samp:`Avg("{FIELD_NAME}")` """database_func=functions.Avgpopulate_field_object=True