示例带子查询与 CASE子查询单独缩进一层,CASE 保持同一行select u.id, case when u.vip=1 then 'vip' else 'normal' end as lvl from t_user u where u.id in (select uid from t_order where amount>100) and u.status=1 order by u.id desc字符串里有逗号引号内的逗号和 and 不会被拆开select * from t_log where msg = 'a,b and c' and level = 'ERROR'
常见问题为什么不用简单的正则替换?正则无法区分「字符串里的 and」和「关键字 and」。这里用词法分析先切出字符串、注释、标识符,再排版,引号内容不会被改坏。支持哪些数据库方言?按通用 SQL 处理(MySQL / PostgreSQL / SQL Server 常见写法),不做方言语义校验,也不会执行 SQL。提示「括号不匹配」但看着是配对的?多半是字符串里有未转义的括号,或注释没闭合。检查报错行附近的引号和 /* */ 即可。
相关工具JSON 格式化粘贴即排版:格式化、压缩、键名排序、转义与反转义,语法错误精确到行列。Cron 表达式解析把 cron 翻译成人话,并预测未来几次触发时间,提前发现写错。正则测试边写边看匹配结果:高亮命中位置、列出捕获组、预览替换效果。