SQLite 不支持 CONCAT 函数

31 阅读1分钟

需求描述

因甲方要求, 需要使用 SQLite3 本地数据库开发一个小型的积分商城项目;
操作数据库时发现 SQLite 不支持 CONCAT 函数;

解决方案

可以使用 || 来达到在 MySQL 中的效果, 案例如下:

SELECT last_name || ' ' || first_name AS full_name
FROM employees

此写法可替代 MySQL 中的 CONCAT(last_name, ' ', first_name)
模糊查询时也是同理,SQLite 中应使用 || 而非 CONCAT , 案例如下:

SELECT *
FROM employees
WHERE full_name LIKE '%' || #{request.first_name} || '%';

后续补充

当时项目开发的时候是2023年08月, 用的是 SQLite 3.34.0 版本;
现在重新整理笔记发现, 2023年11月22日发布的 SQLite 3.44.1 版本起, SQLite 支持了 CONCAT 和 CONCAT_WS 函数;