达梦数据库转义单引号|URL数据处理

达梦数据库中字符只能用单引号包裹,所以在处理URL的时候很麻烦

单引号是它的系统符号,所以任何出现单引号的地方都再加一个单引号

就可以转义 显示单引号本身

比如插入一个多行文本 例如一个查询 只需要替换全部 ' 为两个 '' 就可以写入

需求是替换数据库中数据的URL,所以还要结合正则使用。

测试数据如下格式   目标是去掉函数名和文件名 并拼接本地URL前缀

如果要插入测试数据到数据库  以下的测试数据需要 替换'=>'' 两个单引号

asdasda<a href="saveAs('/file/Filedata/11/36.jpg','图片.jpg')"/>sadsadsa
asdasddsadadsda<a href="saveAs('/file/Filedata/11/36.jpg','图片.jpg')"/>

执行以下SQL

SELECT
	-- 去掉后面的文件名必用正则
	'转义'||'''' AS 奇怪的转义,
	'saveAs(''' AS 转义, 
	CONTENT AS 原文,
	-- 再去掉 函数后面的文件名和括号
	REGEXP_REPLACE(
		-- 先替换 saveAs(''/file => http://www.baidu.com/static
	    REPLACE(CONTENT, 'saveAs(''/file', 'http://www.baidu.com/static') ,
		'('','')(.*?)''\)',
		'',
		1,
		0,
		'i'
  	) AS 方法一,
	  
	-- 再替换file为 指定url前缀http://www.baidu.com/static
	REPLACE( 
	  -- 先去掉saveAs开头和函数文件名和括号
	  REGEXP_REPLACE(
	    CONTENT ,
	    -- 正则里转义 括号 \(  replace 里不用   dm里转义单引号 '=> ''
	    '(saveAs\('')|('','')(.*?)''\)', 
	    '', 
	    1, 
	    0, 
	    'i'
	  ) , '/file', 'http://www.baidu.com/static'
  )AS 方法二
FROM CESHI2  

成功替换 结果如下

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值