mysql - 增强的 SQL 替换功能 - 能够处理可变部分

标签 mysql sql variables replace

我想更新 SQL dB 中的数千条记录。

我的my_table中的post_content类似于:

blablabla htt*://vimeo.com/12345678 blablabla

blablabla htt*://vimeo.com/12345678 blablabla htt*://vimeo.com/12345678 (blablabla)

我想更换

htt*://vimeo.com/12345678

<iframe src="htt*://player.vimeo.com/video/12345678?title=0&amp;byline=0&amp;portrait=0" width="400" height="300" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>

问题是每个帖子的 12345678 都不同...我必须替换该数字之前的代码并在该数字之后添加代码。

替换数字之前的代码很容易,但是之后,我不知道该怎么做?如何使用替换功能:找到 htt*://vimeo/12345678 并指向数字后面并添加“?title=0&a...</iframe>。

有什么想法吗?

最佳答案

如果我理解得很好,我想你可以创建自己的函数,它接受一些变量并在其中进行一些替换等。

CREATE FUNCTION MyReplace (Link nvarchar(4000), myVar nvarchar(500))
RETURNS nvarchar
DECLARE Result nvarchar(4000)
--create some replacing logic here, call REPLACE function etc: 
--Result=...
RETURN Result

稍后,在查询中调用此函数,并传递两个参数 - 原始链接和变量。

但是,如上所述,我不确定这是否是一个好的做法。

关于mysql - 增强的 SQL 替换功能 - 能够处理可变部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7901287/

相关文章:

javascript - 我可以从另一个变量分配一个变量而不更改 JavaScript 中的值吗?

Python - 为什么这个类变量没有在方法中定义?

mysql - 存储过程 - OUT 参数在选择时返回 null

mysql - SQL UNION 与Where 子句是第一个选择的结果

mysql - SQL浮点列: select "where x = 2.0" works,但 "where x = 2.1"没有

mysql - 预览 MySQL 连接的快速方法是什么?

python - 列代表行值的表

mysql - 主键可以为空吗?如果是,为什么这个改变会导致这个结果?

c - 如何计算递增变量的总计

php - PDOStatement::bindParam() 未从 MySQL 插入设置 AI 值?