[ABS]
declaration=X
category=Scalar SQL Functions
description=The abs(X) function returns the absolute value of the numeric argument X.\nAbs(X) returns NULL if X is NULL. Abs(X) returns 0.0 if X is a string or\nblob that cannot be converted to a numeric value. If X is the integer\n-9223372036854775808 then abs(X) throws an integer overflow error since\nthere is no equivalent positive 64-bit two complement value.
[AVG]
declaration=X
category=Aggregate Functions
description=The avg() function returns the average value of all non-NULL X within a\ngroup. String and BLOB values that do not look like numbers are interpreted\nas 0. The result of avg() is always a floating point value as long as at\nthere is at least one non-NULL input even if all inputs are integers. The\nresult of avg() is NULL if and only if there are no non-NULL inputs.
[CHANGES]
declaration=
category=Scalar SQL Functions
description=The changes() function returns the number of database rows that were\nchanged or inserted or deleted by the most recently completed INSERT,\nDELETE, or UPDATE statement, exclusive of statements in lower-level\ntriggers. The changes() SQL function is a wrapper around the\nsqlite3_changes() C/C++ function and hence follows the same rules for\ncounting changes.
[CHAR]
declaration=X1,X2,...,XN
category=Scalar SQL Functions
description=The char(X1,X2,...,XN) function returns a string composed of characters\nhaving the unicode code point values of integers X1 through XN,\nrespectively.
[COALESCE]
declaration=X,Y,...
category=Scalar SQL Functions
description=The coalesce() function returns a copy of its first non-NULL argument, or\nNULL if all arguments are NULL. Coalesce() must have at least 2 arguments.
[COUNT1]
name=COUNT
declaration=X
category=Aggregate Functions
description=The count(X) function returns a count of the number of times that X is not\nNULL in a group. The count(*) function (with no arguments) returns the\ntotal number of rows in the group.
[COUNT2]
name=COUNT
declaration=*
category=Aggregate Functions
description=The count(X) function returns a count of the number of times that X is not\nNULL in a group. The count(*) function (with no arguments) returns the\ntotal number of rows in the group.
[CUME_DIST]
declaration=
category=Window Functions
description=The cumulative distribution. Calculated as row-number/partition-rows, where\nrow-number is the value returned by row_number() for the last peer in the\ngroup and partition-rows the number of rows in the partition.
[DATE]
declaration=time-value, modifier, modifier, ...
category=Date And Time Functions
description=All five date and time functions take a time value as an argument. The time\nvalue is followed by zero or more modifiers. The strftime() function also\ntakes a format string as its first argument.
[DATETIME]
declaration=time-value, modifier, modifier, ...
category=Date And Time Functions
description=All five date and time functions take a time value as an argument. The time\nvalue is followed by zero or more modifiers. The strftime() function also\ntakes a format string as its first argument.
[DENSE_RANK]
declaration=
category=Window Functions
description=The number of the current row's peer group within its partition - the rank\nof the current row without gaps. Partitions are numbered starting from 1 in\nthe order defined by the ORDER BY clause in the window definition. If there\nis no ORDER BY clause, then all rows are considered peers and this function\nalways returns 1.
[FIRST_VALUE]
declaration=expr
category=Window Functions
description=This built-in window function calculates the window frame for each row in\nthe same way as an aggregate window function. It returns the value of expr\nevaluated against the first row in the window frame for each row.
[GLOB]
declaration=X,Y
category=Scalar SQL Functions
description=The glob(X,Y) function is equivalent to the expression "Y GLOB X". Note\nthat the X and Y arguments are reversed in the glob() function relative to\nthe infix GLOB operator. Y is the string and X is the pattern. So, for\nexample, the following expressions are equivalent: name GLOB '*helium*'\nglob('*helium*',name) If the sqlite3_create_function() interface is used to\noverride the glob(X,Y) function with an alternative implementation then the\nGLOB operator will invoke the alternative implementation.
[GROUP_CONCAT1]
name=GROUP_CONCAT
declaration=X
category=Aggregate Functions
description=The group_concat() function returns a string which is the concatenation of\nall non-NULL values of X. If parameter Y is present then it is used as the\nseparator between instances of X. A comma (",") is used as the separator if\nY is omitted. The order of the concatenated elements is arbitrary.
[GROUP_CONCAT2]
name=GROUP_CONCAT
declaration=X,Y
category=Aggregate Functions
description=The group_concat() function returns a string which is the concatenation of\nall non-NULL values of X. If parameter Y is present then it is used as the\nseparator between instances of X. A comma (",") is used as the separator if\nY is omitted. The order of the concatenated elements is arbitrary.
[HEX]
declaration=X
category=Scalar SQL Functions
description=The hex() function interprets its argument as a BLOB and returns a string\nwhich is the upper-case hexadecimal rendering of the content of that blob.\nIf the argument X in "hex(X)" is an integer or floating point number, then\n"interprets its argument as a BLOB" means that the binary number is first\nconverted into a UTF8 text representation, then that text is interpreted as\na BLOB. Hence, "hex(12345678)" renders as "3132333435363738" not the binary\nrepresentation of the integer value "0000000000BC614E".
[IFNULL]
declaration=X,Y
category=Scalar SQL Functions
description=The ifnull() function returns a copy of its first non-NULL argument, or\nNULL if both arguments are NULL. Ifnull() must have exactly 2 arguments.\nThe ifnull() function is equivalent to coalesce() with two arguments.
[IIF]
declaration=X,Y,Z
category=Scalar SQL Functions
description=The iif(X,Y,Z) function returns the value Y if X is true, and Z otherwise.\nThe iif(X,Y,Z) function is logically equivalent to and generates the same\nbytecode as the CASE expression "CASE WHEN X THEN Y ELSE Z END".
[INSTR]
declaration=X,Y
category=Scalar SQL Functions
description=The instr(X,Y) function finds the first occurrence of string Y within\nstring X and returns the number of prior characters plus 1, or 0 if Y is\nnowhere found within X. Or, if X and Y are both BLOBs, then instr(X,Y)\nreturns one more than the number bytes prior to the first occurrence of Y,\nor 0 if Y does not occur anywhere within X. If both arguments X and Y to\ninstr(X,Y) are non-NULL and are not BLOBs then both are interpreted as\nstrings. If either X or Y are NULL in instr(X,Y) then the result is NULL.
[JULIANDAY]
declaration=time-value, modifier, modifier, ...
category=Date And Time Functions
description=All five date and time functions take a time value as an argument. The time\nvalue is followed by zero or more modifiers. The strftime() function also\ntakes a format string as its first argument.
[LAG]
declaration=expr
category=Window Functions
description=The first form of the lag() function returns the result of evaluating\nexpression expr against the previous row in the partition. Or, if there is\nno previous row (because the current row is the first), NULL. \n If the\noffset argument is provided, then it must be a non-negative integer. In\nthis case the value returned is the result of evaluating expr against the\nrow offset rows before the current row within the partition. If offset is\n0, then expr is evaluated against the current row. If there is no row\noffset rows before the current row, NULL is returned. \n If default is also\nprovided, then it is returned instead of NULL if the row identified by\noffset does not exist.
[LAST_INSERT_ROWID]
declaration=
category=Scalar SQL Functions
description=The last_insert_rowid() function returns the ROWID of the last row insert\nfrom the database connection which invoked the function. The\nlast_insert_rowid() SQL function is a wrapper around the\nsqlite3_last_insert_rowid() C/C++ interface function.
[LAST_VALUE]
declaration=expr
category=Window Functions
description=This built-in window function calculates the window frame for each row in\nthe same way as an aggregate window function. It returns the value of expr\nevaluated against the last row in the window frame for each row.
[LEAD]
declaration=expr
category=Window Functions
description=The first form of the lead() function returns the result of evaluating\nexpression expr against the next row in the partition. Or, if there is no\nnext row (because the current row is the last), NULL. \n If the offset\nargument is provided, then it must be a non-negative integer. In this case\nthe value returned is the result of evaluating expr against the row offset\nrows after the current row within the partition. If offset is 0, then expr\nis evaluated against the current row. If there is no row offset rows after\nthe current row, NULL is returned. \n If default is also provided, then it\nis returned instead of NULL if the row identified by offset does not exist.
[LENGTH]
declaration=X
category=Scalar SQL Functions
description=For a string value X, the length(X) function returns the number of\ncharacters (not bytes) in X prior to the first NUL character. Since SQLite\nstrings do not normally contain NUL characters, the length(X) function will\nusually return the total number of characters in the string X. For a blob\nvalue X, length(X) returns the number of bytes in the blob. If X is NULL\nthen length(X) is NULL. If X is numeric then length(X) returns the length\nof a string representation of X.
[LIKE1]
name=LIKE
declaration=X,Y
category=Scalar SQL Functions
description=The like() function is used to implement the "Y LIKE X &#91;ESCAPE Z&#93;"\nexpression. If the optional ESCAPE clause is present, then the like()\nfunction is invoked with three arguments. Otherwise, it is invoked with two\narguments only. Note that the X and Y parameters are reversed in the like()\nfunction relative to the infix LIKE operator. X is the pattern and Y is the\nstring to match against that pattern. Hence, the following expressions are\nequivalent: name LIKE '%neon%' like('%neon%',name) The\nsqlite3_create_function() interface can be used to override the like()\nfunction and thereby change the operation of the LIKE operator. When\noverriding the like() function, it may be important to override both the\ntwo and three argument versions of the like() function. Otherwise,\ndifferent code may be called to implement the LIKE operator depending on\nwhether or not an ESCAPE clause was specified.
[LIKE2]
name=LIKE
declaration=X,Y,Z
category=Scalar SQL Functions
description=The like() function is used to implement the "Y LIKE X &#91;ESCAPE Z&#93;"\nexpression. If the optional ESCAPE clause is present, then the like()\nfunction is invoked with three arguments. Otherwise, it is invoked with two\narguments only. Note that the X and Y parameters are reversed in the like()\nfunction relative to the infix LIKE operator. X is the pattern and Y is the\nstring to match against that pattern. Hence, the following expressions are\nequivalent: name LIKE '%neon%' like('%neon%',name) The\nsqlite3_create_function() interface can be used to override the like()\nfunction and thereby change the operation of the LIKE operator. When\noverriding the like() function, it may be important to override both the\ntwo and three argument versions of the like() function. Otherwise,\ndifferent code may be called to implement the LIKE operator depending on\nwhether or not an ESCAPE clause was specified.
[LIKELIHOOD]
declaration=X,Y
category=Scalar SQL Functions
description=The likelihood(X,Y) function returns argument X unchanged. The value Y in\nlikelihood(X,Y) must be a floating point constant between 0.0 and 1.0,\ninclusive. The likelihood(X) function is a no-op that the code generator\noptimizes away so that it consumes no CPU cycles during run-time (that is,\nduring calls to sqlite3_step()). The purpose of the likelihood(X,Y)\nfunction is to provide a hint to the query planner that the argument X is a\nboolean that is true with a probability of approximately Y. The unlikely(X)\nfunction is short-hand for likelihood(X,0.0625). The likely(X) function is\nshort-hand for likelihood(X,0.9375).
[LIKELY]
declaration=X
category=Scalar SQL Functions
description=The likely(X) function returns the argument X unchanged. The likely(X)\nfunction is a no-op that the code generator optimizes away so that it\nconsumes no CPU cycles at run-time (that is, during calls to\nsqlite3_step()). The purpose of the likely(X) function is to provide a hint\nto the query planner that the argument X is a boolean value that is usually\ntrue. The likely(X) function is equivalent to likelihood(X,0.9375). See\nalso: unlikely(X).
[LOAD_EXTENSION1]
name=LOAD_EXTENSION
declaration=X
category=Scalar SQL Functions
description=The load_extension(X,Y) function loads SQLite extensions out of the shared\nlibrary file named X using the entry point Y. The result of\nload_extension() is always a NULL. If Y is omitted then the default entry\npoint name is used. The load_extension() function raises an exception if\nthe extension fails to load or initialize correctly. The load_extension()\nfunction will fail if the extension attempts to modify or delete an SQL\nfunction or collating sequence. The extension can add new functions or\ncollating sequences, but cannot modify or delete existing functions or\ncollating sequences because those functions and/or collating sequences\nmight be used elsewhere in the currently running SQL statement. To load an\nextension that changes or deletes functions or collating sequences, use the\nsqlite3_load_extension() C-language API.\nFor security reasons, extension\nloaded is turned off by default and must be enabled by a prior call to\nsqlite3_enable_load_extension().
[LOAD_EXTENSION2]
name=LOAD_EXTENSION
declaration=X,Y
category=Scalar SQL Functions
description=The load_extension(X,Y) function loads SQLite extensions out of the shared\nlibrary file named X using the entry point Y. The result of\nload_extension() is always a NULL. If Y is omitted then the default entry\npoint name is used. The load_extension() function raises an exception if\nthe extension fails to load or initialize correctly. The load_extension()\nfunction will fail if the extension attempts to modify or delete an SQL\nfunction or collating sequence. The extension can add new functions or\ncollating sequences, but cannot modify or delete existing functions or\ncollating sequences because those functions and/or collating sequences\nmight be used elsewhere in the currently running SQL statement. To load an\nextension that changes or deletes functions or collating sequences, use the\nsqlite3_load_extension() C-language API.\nFor security reasons, extension\nloaded is turned off by default and must be enabled by a prior call to\nsqlite3_enable_load_extension().
[LOWER]
declaration=X
category=Scalar SQL Functions
description=The lower(X) function returns a copy of string X with all ASCII characters\nconverted to lower case. The default built-in lower() function works for\nASCII characters only. To do case conversions on non-ASCII characters, load\nthe ICU extension.
[LTRIM1]
name=LTRIM
declaration=X
category=Scalar SQL Functions
description=The ltrim(X,Y) function returns a string formed by removing any and all\ncharacters that appear in Y from the left side of X. If the Y argument is\nomitted, ltrim(X) removes spaces from the left side of X.
[LTRIM2]
name=LTRIM
declaration=X,Y
category=Scalar SQL Functions
description=The ltrim(X,Y) function returns a string formed by removing any and all\ncharacters that appear in Y from the left side of X. If the Y argument is\nomitted, ltrim(X) removes spaces from the left side of X.
[MAX1]
name=MAX
declaration=X
category=Aggregate Functions
description=The max() aggregate function returns the maximum value of all values in the\ngroup. The maximum value is the value that would be returned last in an\nORDER BY on the same column. Aggregate max() returns NULL if and only if\nthere are no non-NULL values in the group.
[MAX2]
name=MAX
declaration=X,Y,...
category=Scalar SQL Functions
description=The multi-argument max() function returns the argument with the maximum\nvalue, or return NULL if any argument is NULL. The multi-argument max()\nfunction searches its arguments from left to right for an argument that\ndefines a collating function and uses that collating function for all\nstring comparisons. If none of the arguments to max() define a collating\nfunction, then the BINARY collating function is used. Note that max() is a\nsimple function when it has 2 or more arguments but operates as an\naggregate function if given only a single argument.
[MIN1]
name=MIN
declaration=X
category=Aggregate Functions
description=The min() aggregate function returns the minimum non-NULL value of all\nvalues in the group. The minimum value is the first non-NULL value that\nwould appear in an ORDER BY of the column. Aggregate min() returns NULL if\nand only if there are no non-NULL values in the group.
[MIN2]
name=MIN
declaration=X,Y,...
category=Scalar SQL Functions
description=The multi-argument min() function returns the argument with the minimum\nvalue. The multi-argument min() function searches its arguments from left\nto right for an argument that defines a collating function and uses that\ncollating function for all string comparisons. If none of the arguments to\nmin() define a collating function, then the BINARY collating function is\nused. Note that min() is a simple function when it has 2 or more arguments\nbut operates as an aggregate function if given only a single argument.
[NTH_VALUE]
declaration=expr, N
category=Window Functions
description=This built-in window function calculates the window frame for each row in\nthe same way as an aggregate window function. It returns the value of expr\nevaluated against the row N of the window frame. Rows are numbered within\nthe window frame starting from 1 in the order defined by the ORDER BY\nclause if one is present, or in arbitrary order otherwise. If there is no\nNth row in the partition, then NULL is returned.
[NTILE]
declaration=N
category=Window Functions
description=Argument N is handled as an integer. This function divides the partition\ninto N groups as evenly as possible and assigns an integer between 1 and N\nto each group, in the order defined by the ORDER BY clause, or in arbitrary\norder otherwise. If necessary, larger groups occur first. This function\nreturns the integer value assigned to the group that the current row is a\npart of.
[NULLIF]
declaration=X,Y
category=Scalar SQL Functions
description=The nullif(X,Y) function returns its first argument if the arguments are\ndifferent and NULL if the arguments are the same. The nullif(X,Y) function\nsearches its arguments from left to right for an argument that defines a\ncollating function and uses that collating function for all string\ncomparisons. If neither argument to nullif() defines a collating function\nthen the BINARY is used.
[PERCENT_RANK]
declaration=
category=Window Functions
description=Despite the name, this function always returns a value between 0.0 and 1.0\nequal to (rank - 1)/(partition-rows - 1), where rank is the value returned\nby built-in window function rank() and partition-rows is the total number\nof rows in the partition. If the partition contains only one row, this\nfunction returns 0.0.
[PRINTF]
declaration=FORMAT,...
category=Scalar SQL Functions
description=The printf(FORMAT,...) SQL function works like the sqlite3_mprintf()\nC-language function and the printf() function from the standard C library.\nThe first argument is a format string that specifies how to construct the\noutput string using values taken from subsequent arguments. If the FORMAT\nargument is missing or NULL then the result is NULL. The %n format is\nsilently ignored and does not consume an argument. The %p format is an\nalias for %X. The %z format is interchangeable with %s. If there are too\nfew arguments in the argument list, missing arguments are assumed to have a\nNULL value, which is translated into 0 or 0.0 for numeric formats or an\nempty string for %s. See the built-in printf() documentation for additional\ninformation.
[QUOTE]
declaration=X
category=Scalar SQL Functions
description=The quote(X) function returns the text of an SQL literal which is the value\nof its argument suitable for inclusion into an SQL statement. Strings are\nsurrounded by single-quotes with escapes on interior quotes as needed.\nBLOBs are encoded as hexadecimal literals. Strings with embedded NUL\ncharacters cannot be represented as string literals in SQL and hence the\nreturned string literal is truncated prior to the first NUL.
[RANDOM]
declaration=
category=Scalar SQL Functions
description=The random() function returns a pseudo-random integer between\n-9223372036854775808 and +9223372036854775807.
[RANDOMBLOB]
declaration=N
category=Scalar SQL Functions
description=The randomblob(N) function return an N-byte blob containing pseudo-random\nbytes. If N is less than 1 then a 1-byte random blob is returned. Hint:\napplications can generate globally unique identifiers using this function\ntogether with hex() and/or lower() like this: hex(randomblob(16))\nlower(hex(randomblob(16)))
[RANK]
declaration=
category=Window Functions
description=The row_number() of the first peer in each group - the rank of the current\nrow with gaps. If there is no ORDER BY clause, then all rows are considered\npeers and this function always returns 1.
[REPLACE]
declaration=X,Y,Z
category=Scalar SQL Functions
description=The replace(X,Y,Z) function returns a string formed by substituting string\nZ for every occurrence of string Y in string X. The BINARY collating\nsequence is used for comparisons. If Y is an empty string then return X\nunchanged. If Z is not initially a string, it is cast to a UTF-8 string\nprior to processing.
[ROUND1]
name=ROUND
declaration=X
category=Scalar SQL Functions
description=The round(X,Y) function returns a floating-point value X rounded to Y\ndigits to the right of the decimal point. If the Y argument is omitted, it\nis assumed to be 0.
[ROUND2]
name=ROUND
declaration=X,Y
category=Scalar SQL Functions
description=The round(X,Y) function returns a floating-point value X rounded to Y\ndigits to the right of the decimal point. If the Y argument is omitted, it\nis assumed to be 0.
[ROW_NUMBER]
declaration=
category=Window Functions
description=The number of the row within the current partition. Rows are numbered\nstarting from 1 in the order defined by the ORDER BY clause in the window\ndefinition, or in arbitrary order otherwise.
[RTRIM1]
name=RTRIM
declaration=X
category=Scalar SQL Functions
description=The rtrim(X,Y) function returns a string formed by removing any and all\ncharacters that appear in Y from the right side of X. If the Y argument is\nomitted, rtrim(X) removes spaces from the right side of X.
[RTRIM2]
name=RTRIM
declaration=X,Y
category=Scalar SQL Functions
description=The rtrim(X,Y) function returns a string formed by removing any and all\ncharacters that appear in Y from the right side of X. If the Y argument is\nomitted, rtrim(X) removes spaces from the right side of X.
[SIGN]
declaration=X
category=Scalar SQL Functions
description=The sign(X) function returns -1, 0, or +1 if the argument X is a numeric\nvalue that is negative, zero, or positive, respectively. If the argument to\nsign(X) is NULL or is a string or blob that cannot be losslessly converted\ninto a number, then sign(X) returns NULL.
[SOUNDEX]
declaration=X
category=Scalar SQL Functions
description=The soundex(X) function returns a string that is the soundex encoding of\nthe string X. The string "?000" is returned if the argument is NULL or\ncontains no ASCII alphabetic characters. This function is omitted from\nSQLite by default. It is only available if the SQLITE_SOUNDEX compile-time\noption is used when SQLite is built.
[SQLITE_COMPILEOPTION_GET]
declaration=N
category=Scalar SQL Functions
description=The sqlite_compileoption_get() SQL function is a wrapper around the\nsqlite3_compileoption_get() C/C++ function. This routine returns the N-th\ncompile-time option used to build SQLite or NULL if N is out of range. See\nalso the compile_options pragma.
[SQLITE_COMPILEOPTION_USED]
declaration=X
category=Scalar SQL Functions
description=The sqlite_compileoption_used() SQL function is a wrapper around the\nsqlite3_compileoption_used() C/C++ function. When the argument X to\nsqlite_compileoption_used(X) is a string which is the name of a\ncompile-time option, this routine returns true (1) or false (0) depending\non whether or not that option was used during the build.
[SQLITE_OFFSET]
declaration=X
category=Scalar SQL Functions
description=The sqlite_offset(X) function returns the byte offset in the database file\nfor the beginning of the record from which value would be read. If X is not\na column in an ordinary table, then sqlite_offset(X) returns NULL. The\nvalue returned by sqlite_offset(X) might reference either the original\ntable or an index, depending on the query. If the value X would normally be\nextracted from an index, the sqlite_offset(X) returns the offset to the\ncorresponding index record. If the value X would be extracted from the\noriginal table, then sqlite_offset(X) returns the offset to the table\nrecord. The sqlite_offset(X) SQL function is only available if SQLite is\nbuilt using the -DSQLITE_ENABLE_OFFSET_SQL_FUNC compile-time option.
[SQLITE_SOURCE_ID]
declaration=
category=Scalar SQL Functions
description=The sqlite_source_id() function returns a string that identifies the\nspecific version of the source code that was used to build the SQLite\nlibrary. The string returned by sqlite_source_id() is the date and time\nthat the source code was checked in followed by the SHA3-256 hash for that\ncheck-in. This function is an SQL wrapper around the sqlite3_sourceid() C\ninterface.
[SQLITE_VERSION]
declaration=
category=Scalar SQL Functions
description=The sqlite_version() function returns the version string for the SQLite\nlibrary that is running. This function is an SQL wrapper around the\nsqlite3_libversion() C-interface.
[STRFTIME]
declaration=format, time-value, modifier, modifier, ...
category=Date And Time Functions
description=All five date and time functions take a time value as an argument. The time\nvalue is followed by zero or more modifiers. The strftime() function also\ntakes a format string as its first argument.
[SUBSTR1]
name=SUBSTR
declaration=X,Y,Z
category=Scalar SQL Functions
description=The substr(X,Y,Z) function returns a substring of input string X that\nbegins with the Y-th character and which is Z characters long. If Z is\nomitted then substr(X,Y) returns all characters through the end of the\nstring X beginning with the Y-th. The left-most character of X is number 1.\nIf Y is negative then the first character of the substring is found by\ncounting from the right rather than the left. If Z is negative then the\nabs(Z) characters preceding the Y-th character are returned. If X is a\nstring then characters indices refer to actual UTF-8 characters. If X is a\nBLOB then the indices refer to bytes. "substring()" is an alias for\n"substr()" beginning with SQLite version 3.34.
[SUBSTR2]
name=SUBSTR
declaration=X,Y
category=Scalar SQL Functions
description=The substr(X,Y,Z) function returns a substring of input string X that\nbegins with the Y-th character and which is Z characters long. If Z is\nomitted then substr(X,Y) returns all characters through the end of the\nstring X beginning with the Y-th. The left-most character of X is number 1.\nIf Y is negative then the first character of the substring is found by\ncounting from the right rather than the left. If Z is negative then the\nabs(Z) characters preceding the Y-th character are returned. If X is a\nstring then characters indices refer to actual UTF-8 characters. If X is a\nBLOB then the indices refer to bytes. "substring()" is an alias for\n"substr()" beginning with SQLite version 3.34.
[SUBSTRING1]
name=SUBSTRING
declaration=X,Y,Z
category=Scalar SQL Functions
description=The substr(X,Y,Z) function returns a substring of input string X that\nbegins with the Y-th character and which is Z characters long. If Z is\nomitted then substr(X,Y) returns all characters through the end of the\nstring X beginning with the Y-th. The left-most character of X is number 1.\nIf Y is negative then the first character of the substring is found by\ncounting from the right rather than the left. If Z is negative then the\nabs(Z) characters preceding the Y-th character are returned. If X is a\nstring then characters indices refer to actual UTF-8 characters. If X is a\nBLOB then the indices refer to bytes. "substring()" is an alias for\n"substr()" beginning with SQLite version 3.34.
[SUBSTRING2]
name=SUBSTRING
declaration=X,Y
category=Scalar SQL Functions
description=The substr(X,Y,Z) function returns a substring of input string X that\nbegins with the Y-th character and which is Z characters long. If Z is\nomitted then substr(X,Y) returns all characters through the end of the\nstring X beginning with the Y-th. The left-most character of X is number 1.\nIf Y is negative then the first character of the substring is found by\ncounting from the right rather than the left. If Z is negative then the\nabs(Z) characters preceding the Y-th character are returned. If X is a\nstring then characters indices refer to actual UTF-8 characters. If X is a\nBLOB then the indices refer to bytes. "substring()" is an alias for\n"substr()" beginning with SQLite version 3.34.
[SUM]
declaration=X
category=Aggregate Functions
description=The sum() and total() aggregate functions return sum of all non-NULL values\nin the group. If there are no non-NULL input rows then sum() returns NULL\nbut total() returns 0.0. NULL is not normally a helpful result for the sum\nof no rows but the SQL standard requires it and most other SQL database\nengines implement sum() that way so SQLite does it in the same way in order\nto be compatible. The non-standard total() function is provided as a\nconvenient way to work around this design problem in the SQL language.\nThe\nresult of total() is always a floating point value. The result of sum() is\nan integer value if all non-NULL inputs are integers. If any input to sum()\nis neither an integer or a NULL then sum() returns a floating point value\nwhich might be an approximation to the true sum.\nSum() will throw an\n"integer overflow" exception if all inputs are integers or NULL and an\ninteger overflow occurs at any point during the computation. Total() never\nthrows an integer overflow.
[TIME]
declaration=time-value, modifier, modifier, ...
category=Date And Time Functions
description=All five date and time functions take a time value as an argument. The time\nvalue is followed by zero or more modifiers. The strftime() function also\ntakes a format string as its first argument.
[TOTAL]
declaration=X
category=Aggregate Functions
description=The sum() and total() aggregate functions return sum of all non-NULL values\nin the group. If there are no non-NULL input rows then sum() returns NULL\nbut total() returns 0.0. NULL is not normally a helpful result for the sum\nof no rows but the SQL standard requires it and most other SQL database\nengines implement sum() that way so SQLite does it in the same way in order\nto be compatible. The non-standard total() function is provided as a\nconvenient way to work around this design problem in the SQL language.\nThe\nresult of total() is always a floating point value. The result of sum() is\nan integer value if all non-NULL inputs are integers. If any input to sum()\nis neither an integer or a NULL then sum() returns a floating point value\nwhich might be an approximation to the true sum.\nSum() will throw an\n"integer overflow" exception if all inputs are integers or NULL and an\ninteger overflow occurs at any point during the computation. Total() never\nthrows an integer overflow.
[TOTAL_CHANGES]
declaration=
category=Scalar SQL Functions
description=The total_changes() function returns the number of row changes caused by\nINSERT, UPDATE or DELETE statements since the current database connection\nwas opened. This function is a wrapper around the sqlite3_total_changes()\nC/C++ interface.
[TRIM1]
name=TRIM
declaration=X
category=Scalar SQL Functions
description=The trim(X,Y) function returns a string formed by removing any and all\ncharacters that appear in Y from both ends of X. If the Y argument is\nomitted, trim(X) removes spaces from both ends of X.
[TRIM2]
name=TRIM
declaration=X,Y
category=Scalar SQL Functions
description=The trim(X,Y) function returns a string formed by removing any and all\ncharacters that appear in Y from both ends of X. If the Y argument is\nomitted, trim(X) removes spaces from both ends of X.
[TYPEOF]
declaration=X
category=Scalar SQL Functions
description=The typeof(X) function returns a string that indicates the datatype of the\nexpression X: "null", "integer", "real", "text", or "blob".
[UNICODE]
declaration=X
category=Scalar SQL Functions
description=The unicode(X) function returns the numeric unicode code point\ncorresponding to the first character of the string X. If the argument to\nunicode(X) is not a string then the result is undefined.
[UNLIKELY]
declaration=X
category=Scalar SQL Functions
description=The unlikely(X) function returns the argument X unchanged. The unlikely(X)\nfunction is a no-op that the code generator optimizes away so that it\nconsumes no CPU cycles at run-time (that is, during calls to\nsqlite3_step()). The purpose of the unlikely(X) function is to provide a\nhint to the query planner that the argument X is a boolean value that is\nusually not true. The unlikely(X) function is equivalent to likelihood(X,\n0.0625).
[UPPER]
declaration=X
category=Scalar SQL Functions
description=The upper(X) function returns a copy of input string X in which all\nlower-case ASCII characters are converted to their upper-case equivalent.
[ZEROBLOB]
declaration=N
category=Scalar SQL Functions
description=The zeroblob(N) function returns a BLOB consisting of N bytes of 0x00.\nSQLite manages these zeroblobs very efficiently. Zeroblobs can be used to\nreserve space for a BLOB that is later written using incremental BLOB I/O.\nThis SQL function is implemented using the sqlite3_result_zeroblob()\nroutine from the C/C++ interface.
