SQLite 函数大全
abs(X) 返回参数 X 的绝对值。
coalesce(X,Y,...) 返回第一个非空参数的副本。若所有的参数均为 NULL,返回 NULL。至少 2
个参数。
glob(X,Y) 用于实现 SQLite 的 "X GLOB Y"语法。可使用 sqlite3_create_func#on() 重载该函数从
而改变 GLOB 运算符的功能。
ifnull(X,Y) 返回第一个非空参数的副本。 若两个参数均为 NULL,返回 NULL。与上面的
coalesce()类似。
last_insert_rowid() 返回当前数据库连接最后插入行的 ROWID。sqlite_last_insert_rowid() API
函数同样可用于得到该值。
length(X) 返回 X 的长度,以字符计。如果 SQLite 被配置为支持 UTF-8,则返回 UTF-8 字符数
而不是字节数。
like(X,Y [,Z]) 用于实现 SQL 语法"X LIKE Y [ESCAPE Z]".若使用可选的 ESCAPE 子句,则函数被赋
予三个参数,否则只有两个。可使用 sqlite3_create_func#on() 重载该函数从而改变 LIKE 运
算符的功能。 注意同时重载 like()的两参数和三参数版本,否则在使用/不使用 ESCAPE 子句
时,LIKE 运算符的实现可能使用的是不同的代码。
lower(X) 返回 X 字符串的所有字符小写化版本。这一转换使用 C 语言库的 tolower()函数,对
UTF-8 字符不能提供好的支持。
max(X,Y,...) 返回最大值。参数可以不仅仅为数字,可以为字符串。大小顺序由常用的排序
法则决定。注意,max()在有 2 个或更多参数时为简单函数,但当仅给出一个参数时它变为
聚集函数。
min(X,Y,...) 返回最小值。与 max()类似。
nullif(X,Y) 当两参数不同时返回 X,否则返回 NULL.
quote(X) 返回参数的适于插入其它 SQL 语句中的值。字符串会被添加单引号,在内部的引
号前会加入逃逸符号。 BLOB 被编码为十六进制文本。当前的 VACUUM 使用这一函数实现。
在使用触发器实现撤销/重做功能时这一函数也很有用。
random(*) 返回介于-2147483648 和 +2147483647 之间的随机整数。
round(X)
round(X,Y) 将 X 四舍五入,保留小数点后 Y 位。若忽略 Y 参数,则默认其为 0。
soundex(X) 计算字符串 X 的 soundex 编码。参数为 NULL 时返回字符串"?000".缺省的 SQLite
是不支持该函数的,当编译时选项 -DSQLITE_SOUNDEX=1 时该函数才可用。
sqlite_version(*) 返回所运行的 SQLite 库的版本号字符串。如 "2.8.0"。
substr(X,Y,Z) 返回输入字符串 X 中以第 Y 个字符开始,Z 个字符长的子串。 X 最左端的字符
序号为 1。若 Y 为负,则从右至左数起。若 SQLite 配置支持 UTF-8,则“字符”代表的是 UTF-8
字符而非字节。
typeof(X) 返回表达式 X 的类型。返回值可能为"null", "integer", "real", "text", 以及 "blob".
SQLite 的类型处理参见 SQLite3 的数据类型.
upper(X) 返回 X 字符串的所有字符大写化版本。这一转换使用 C 语言库的 toupper()函数,
对 UTF-8 字符不能提供好的支持。
以 下 是 缺 省 可 用 的 聚 集 函 数 列 表 。 可 以 使 用 C 语言 写 出 其 它 的 聚 集 函 数 然 后 使 用