使用 SQL 进行查找替换

实例:数据库中更换域名前缀

UPDATE idealu_user
SET main_qrcode_url = (
-- CASE	WHEN 搜索函数
	CASE
	WHEN (
-- 搜索这两种条件
		(main_qrcode_url LIKE 'https://coding8zz.com/%')
	) THEN
-- 字符串拼接
		CONCAT(
			'http://qrcode.idealu.cn/',
-- 字符串截取:获取前缀后面部分字符串
			RIGHT (
				main_qrcode_url,
-- 计算出前缀后面部分长度
				(CHAR_LENGTH(main_qrcode_url) - LOCATE('wlar', main_qrcode_url) + 1)
			)
		)
	ELSE
-- 若没有搜索到对应的结果,则不改变值。注意:如果不加这个,若没搜索到对应的结果就会将该属性值置为空
		main_qrcode_url
	END
);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server中,可以使用REPLACE函数来查找替换字符串。 REPLACE函数的语法如下: REPLACE(string_expression, string_pattern, string_replacement) 其中,string_expression是要搜索的字符串表达式,string_pattern是要查找的子字符串,string_replacement是用于替换的字符串。这个函数将会替换字符串表达式中所有匹配的子字符串。 另外,如果你只想替换第一个匹配的子字符串,可以使用STUFF函数结合CHARINDEX函数来实现。STUFF函数用于替换指定位置的字符串,而CHARINDEX函数用于查找子字符串在目标字符串中的起始位置。下面是一个示例代码: SELECT F_Id, F_PersonId, STUFF(F_PersonId, CHARINDEX('1414030230', F_PersonId), LEN('1414030230'), '2020'), F_PersonName, STUFF(F_PersonName, CHARINDEX(N'张三', F_PersonName), LEN(N'张三'), '王加油') FROM TempPerson 类似地,如果你想替换最后一个匹配的子字符串,可以使用REVERSE函数结合STUFF和CHARINDEX函数来实现。REVERSE函数用于将字符串倒转,这样就可以从后往前查找子字符串了。下面是一个示例代码: SELECT F_Id, F_PersonId, REVERSE(STUFF(REVERSE(F_PersonId), CHARINDEX(REVERSE('1414030230'), REVERSE(F_PersonId)), LEN('1414030230'), REVERSE('2020'))), F_PersonName, REVERSE(STUFF(REVERSE(F_PersonName), CHARINDEX(REVERSE(N'张三'), REVERSE(F_PersonName)), LEN(N'张三'), REVERSE(N'王加油'))) FROM TempPerson 请注意,上述代码中的TempPerson是一个表名,你需要根据实际情况替换为你的表名。这些语句将会查找替换指定的子字符串,并返回替换后的结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值