You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot H2测试中SQL插入换行失效问题求助

解决H2数据库插入脚本中换行符不生效的问题

方法1:使用字符拼接函数生成换行

直接用CHR(10)(对应LF换行符)拼接字符串,H2会将其解析为实际换行:

insert into table_name (id, text) values (100, 'New Line' || CHR(10) || 'New line2');

如果需要兼容Windows的CRLF换行格式,可替换为CHR(13) || CHR(10)。

方法2:开启H2的转义字符串语法

两种方式可以启用H2对转义字符的解析:

  • 在插入脚本开头先执行配置命令:
    SET ESCAPE_STRING_SYNTAX=TRUE;
    
    之后原插入语句中的\n会被自动解析为换行。
  • 或者修改Spring Boot的H2连接URL,添加配置参数:
    spring.datasource.url=jdbc:h2:mem:testdb;ESCAPE_STRING_SYNTAX=TRUE
    

方法3:直接在脚本中写入实际换行

将插入语句的字符串内容直接换行编写,H2会保留脚本中的实际换行:

insert into table_name (id, text) values (100, 'New Line
New line2');

注意脚本文件本身的换行符格式(LF/CRLF)会影响最终存储的换行类型。

内容的提问来源于stack exchange,提问作者Sha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 20:22:34