SQL字符串操作:拼接、模糊与替换技巧

张开发
2026/4/18 17:55:30 15 分钟阅读

分享文章

SQL字符串操作:拼接、模糊与替换技巧
1. 字符串拼接CONCAT() 函数• 作用将多个字符串拼接成一个字符串是 SQL 中通用的拼接方式兼容性最好。• 语法CONCAT(字符串1, 字符串2, ...)• 示例CONCAT(name, City) → 把 name 和 City 拼接生成 Mexico City。• 补充部分数据库如 PostgreSQL/Oracle支持 || 拼接写法为 name || City但 CONCAT() 更通用。2. 模糊匹配LIKE 关键字 通配符 • 核心通配符 ◦ %匹配任意长度包括 0的任意字符 ◦ _匹配单个任意字符• 三种匹配场景a. 前缀匹配以某字符串开头name% → 如 Monaco% 匹配 Monaco-Villeb. 后缀匹配以某字符串结尾%name → 如 %City 匹配 Mexico Cityc. 包含匹配任意位置出现%name% → 如 %Italy% 匹配 RomeItaly/ItalyRome• 注意LIKE 默认是否大小写敏感取决于数据库配置MySQL 默认不敏感PostgreSQL 通常敏感。3. 字符串替换与截取REPLACE() 与 SUBSTRING()1REPLACE() 函数• 作用将字符串中所有匹配的目标内容替换为指定内容可替换为空字符串实现「删除」效果。• 语法REPLACE(原字符串, 要替换的内容, 替换后的内容)• 关键特性 ◦ 会替换所有匹配项不是只替换第一次出现的内容 ◦ 替换为 时相当于删除目标内容比如 REPLACE(Monaco-Ville, Monaco, ) → -Ville• 常见坑如果目标内容在字符串中多次出现会全部被替换比如 Guinea-Bissau-Guinea 替换 Guinea 后会变成 -Bissau-。2SUBSTRING() / MID() 函数• 作用从字符串中截取指定位置的子串适合「已知前缀长度精准截取后缀」的场景。• 语法MySQLSUBSTRING(原字符串, 起始位置, [长度]) • 示例截取 Monaco-Ville 中 Monaco 之后的部分 sql SUBSTRING(capital, LENGTH(name) 1) -- 从国家名结束的下一个字符开始截取到末尾。• 优势比 REPLACE() 更安全不会受「目标内容重复出现」的影响。

更多文章