php - MySQL:从所有记录中删除数字前缀

标签 php mysql sql php-5.3

我在下面有这个page 表,我想从template_id 列中删除'999' 的编号前缀,

page_id    template_id    url
1          9991           a
2          9992           b
3          9993           c
4          4              d

所以我可以得到下面的更新数据,

page_id    template_id    url
1          1              a
2          2              b
3          3              c
4          4              d 

知道如何删除这种前缀吗?

最佳答案

要获取问题中显示的数据:

SELECT
  page_id,
  SUBSTRING(template_id, IF(template_id RLIKE '^999', 4, 1)) AS template_id,
  url
FROM page

或者,如果您想永久更新表格:

UPDATE page
SET template_id = SUBSTRING(template_id, 4)
WHERE template_id RLIKE '^999'

MySQL 的 implicit type conversion将处理其余部分。

关于php - MySQL:从所有记录中删除数字前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387356/

相关文章:

mysql - 如何使用 mySQL 搜索转义字符串?

sql - 列的创建者 - SQL Server

php - 使用 for 循环在表中显示 SQL 结果

php - 创建一个像这样的 HTML 表格

php - SQL根据ID更新多行

javascript - laravel 如何使用ajax获取数据库值?

c# - MySqlConnection 不工作

PHP preg_match 错误

php - Laravel 6 config()->get ('database.connections.mysql' ) 不匹配 DB :connection()

mysql - 查询时间突然增加