表:test
字段
id id1 id2 id3 dd[XXXXXXXXXXXX-id-id1-id2-id3-NO]
1 121 121 121 1 XXX测试-1-12-12-12-1
2 121 121 121 2 XXX测试-1-12-12-12-2
3 121 121 121 3 XXX测试-1-12-12-12-3
如何替换dd字段的id-id1-id2-id3
要替换MySQL表中的dd字段的id-id1-id2-id3部分,你可以使用MySQL的字符串函数和替换函数进行操作。下面是一种可能的实现方法:
<!-- 根据组串ID 修改 组件的 汇流箱编码-逆变器编码-组串编码 -->
<update id="updateComponentAssetBySeriesId" parameterType="ComponentAsset">
update pv_component_asset
<trim prefix="SET" suffixOverrides=",">
<if test="matrixCode != null and matrixCode != ''">matrix_code = #{matrixCode},</if>
<if test="inverterCode != null and inverterCode != ''">inverter_code = #{inverterCode},</if>
<if test="groupSeriesCode != null and groupSeriesCode != ''">group_series_code = #{groupSeriesCode},</if>
location = CONCAT(SUBSTRING_INDEX(location, '-', 2),
'-', #{matrixCode},
'-', #{inverterCode},
'-', #{groupSeriesCode},
'-', SUBSTRING_INDEX(location, '-', -1)),
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = sysdate()
</trim>
where series_id = #{seriesId}
</update>
update pv_component_asset
set
asset_code = 12,
matrix_code = 13,
inverter_code = 14,
group_series_code = 15,
location = CONCAT(SUBSTRING_INDEX(location, '-', 2), '-', matrix_code, '-', inverter_code, '-', group_series_code, '-', SUBSTRING_INDEX(location, '-', -1))
where series_id = 243