mysql - 搜索模式并替换

时间:2015-08-17 09:07:26

标签: mysql

我有MySQL表wp422_posts,我需要在post_name列中操作一种类型的值。实际上,我需要操作以4位数(唯一ID)开头的长值而不是文本,我需要得到4位数并将它们留在那里。请问有人帮帮我吗?我是MySQL的新手。其他值 - 不以4位数字开头,短划线必须保持不变。

post_name

的值的一个示例
  • 旧: " 2147-sprava-uzivatelskych-uctu-databaze-预言-V-prostredi-AutoCAD的地图-3D" 希望
  • 新的:" 2147"

如何在列中选择正确的值:

SELECT * FROM `wp422_posts` WHERE `post_name` LIKE "[0-9][0-9][0-9][0-9]%"

它返回空结果,但为什么?

如何摆脱不需要的部分?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如果您确定起始部分始终是4位数而且只需要,那么您可以使用: -

SELECT LEFT(COL_NAME, 4) 
FROM `wp422_posts`

然后您可以使用update语句来更新表。像: -

UPDATE `wp422_posts`
SET COL_NAME = LEFT(COL_NAME, 4)

希望这会有所帮助!!