SQLite 是轻量级数据库,但其函数系统却一点不轻。无论是日志分析、嵌入式存储还是移动数据处理,合理运用 SQLite 函数可显著简化 SQL 逻辑、减少数据传输、提升查询效率。下面为你详细列出各类函数的用法、示例和最佳实践。


📚 目录

  1. 字符串处理函数
  2. 数学运算函数
  3. 聚合统计函数
  4. 类型转换函数
  5. 流程与条件函数
  6. 系统与辅助函数
  7. 出站链接与站内推荐阅读
  8. 参考资料

1. 字符串处理函数

SQLite 支持丰富的字符串处理函数,适合文本解析、用户输入校验等场景。

函数功能示例
length(str)返回字符串长度length('hello') → 5
lower(str)转为小写lower('ABC') → 'abc'
upper(str)转为大写upper('abc') → 'ABC'
substr(str, start, len)子串substr('abcdef',2,3) → 'bcd'
instr(haystack, needle)返回子串位置instr('hello','l') → 3
replace(str,a,b)替换replace('abcabc','a','x') → 'xbcxbc'
trim(str)去两端空白trim(' abc ') → 'abc'
ltrim(str) / rtrim(str)去左/右空白

2. 数学运算函数

SQLite 支持基本数学函数,适合嵌入式计算和数据统计:

函数说明示例
abs(x)绝对值abs(-5) → 5
round(x, d)四舍五入round(3.14159,2) → 3.14
sqrt(x)平方根sqrt(16) → 4
pow(x, y)次方pow(2,3) → 8
mod(x, y)取模mod(10,3) → 1
random()返回随机整数
randomblob(N)返回 N 字节的随机二进制

3. 聚合统计函数

聚合函数用于分组汇总分析,适用于 BI、报表、数据洞察等:

函数描述
count(*) / count(expr)总数
sum(expr)求和
avg(expr)平均值
min(expr) / max(expr)最小/最大值
group_concat(expr [, sep])字符串拼接(可指定分隔符)

示例:

SELECT department, count(*), avg(salary) 
FROM employees 
GROUP BY department;


4. 类型转换函数

函数说明
typeof(expr)返回值类型:text、integer、real 等
cast(expr AS type)显式类型转换

示例:

SELECT typeof(123.45); → 'real'

SELECT CAST('123' AS INTEGER); → 123


5. 流程与条件函数

SQLite 中可以使用以下逻辑函数来构建流程判断:

函数用法示例
ifnull(a, b)a 为 NULL 时返回 bifnull(NULL, 'default') → 'default'
nullif(a, b)若 a = b,返回 NULL;否则返回 a
coalesce(a, b, c, ...)返回第一个非 NULL 值

6. 系统与辅助函数

函数用法
last_insert_rowid()返回最近插入行的 ID
changes()返回上一条修改语句影响的行数
total_changes()自连接后累计影响行数
sqlite_version()返回当前 SQLite 版本

示例:

SELECT sqlite_version(); → '3.45.1'


7. 🔗 出站链接与站内推荐阅读

外部资源:

推荐文章(站内):


8. 📚 参考资料

  1. SQLite Core Functions:https://www.sqlite.org/lang_corefunc.html
  2. 《SQLite 权威指南》函数篇
  3. Stack Overflow 关于 SQLite 函数高票回答合集
  4. SQLite 设计文档中的函数性能比较
  5. 实战项目中函数使用示例(开源框架案例)

✅ 接下来的章节将进入 “SQLite 接口” 部分,涵盖 C/C++JavaPHPPythonPerl 等语言对 SQLite 的集成方法与实践技巧。如果准备好了,请回复“继续”。