mysql将字段1插入到字段2的指定位置

现在把以前那款离线自动化测试工具,作为一个模块加入到我们公司自主研发的平台里面。至于两个版本的差异,后面抽空整理一下。

问题:现在远程jenkins执行场景(多个脚本的集合)报告不友好,报告场景名称及脚本名称总是英文显示(因为测试脚本是java脚本),但其实数据库是有中文名称保存的。于是,得改造起来。
最开始,就是平台点击执行的时候,把中文名称一起传到回放代码里面,然后生成监听类文件的时候获取,结果:出糗了。暂时没有截图了,但是可以想象一下,一个场景20几个甚至90几个脚本,全都是一个名称,,哈哈哈
突然想起来,加description字段就可以防止每一次的测试用例中文名被覆盖。
话不多说了,直接讲一下需求以及实现。
需求:把dp_script表的script_name字段内容放入到script_file_content字段中@Test后面,同时需要添加内容(description ="“);即:
script_file_content中的@Test改为@Test(description ="script_name“)
关键在于,确定@Test位置以及将script_name添加,同时拼接上其他信息。
1、一开始是想到instr(列名,字符串)函数获取位置,用concat(str,str)left(列名,位置)right(列名,length(列名-定位)),但是每个脚本长度不一致,添加script_name后,长度计算也是没有规律的。
2、换个思路,就是替换REPLACE(列名,被替换的字符串,替换的字符串)+拼接CONCAT(str,str,str,....)
于是就是:

UPDATE DP_SCRIPT
SET script_file_content = REPLACE (
	script_file_content,
	'@Test',
	 CONCAT('@Test(description ="',script_name,'")') ) ;

翻译一下:

update 表名
set 字段1=replace(
	字段1,
	被替换的字符串,
	CONCAT('str1',字段2,'str2'));

运行后,
在这里插入图片描述
不到一秒钟,就替换完成了。感叹!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值