gpt4 book ai didi

php - 将零添加到 mySQL 表行中的特定位置

转载 作者:行者123 更新时间:2023-11-29 05:29:29 27 4
gpt4 key购买 nike

我有一个 mySQL 表,其中包含很多这样的链接:

id - link
1 | index.php?video=12
2 | index.php?video=345
3 | index.php?video=6789
4 | index.php?video=123&other=variable
5 | www.site.com/index.php?video=456&other=variable

每个文本行一个链接。我想在数字前加零,但总共必须是九个数字。所以 video=12 将是 video=000000012,video=6789 将是 video=000006789。

有什么方法可以通过使用 SQL 查询来实现吗?

编辑:tombom 提交的解决方案工作正常,但如果我的链接没有 video=x 变量怎么办?

最佳答案

UPDATE yourTable
SET `link` = REPLACE(`link`, SUBSTRING(`link` from LOCATE('=', `link`) + 1), RIGHT(CONCAT('000000000', SUBSTRING(`link` from LOCATE('=', `link`) + 1)), 9))

现场观看 here在 sqlfiddle 中。

更新:

What if I have some links with more url variables? like: index.php?video=123&play=1&search=hello

这有点棘手,但是你开始吧:

UPDATE yourTable
SET `link` = replace(`link`, substring(`link`, locate('=', `link`) + 1, ABS(locate('&', `link`) - locate('=', `link`) - 1)), right(concat('000000000', substring(`link`, locate('=', `link`) + 1, ABS(locate('&', `link`) - locate('=', `link`) - 1))), 9))

或者你可以像这样把它做得更短一些:

UPDATE yourTable
SET `link` = , CONCAT(SUBSTRING_INDEX(`link`, '=', 1),'=', LPAD(SUBSTRING(`link` from locate('=', `link`) + 1),9,'0'))

参见 sqlfiddle .

关于php - 将零添加到 mySQL 表行中的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16212275/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com