我有MySQL表wp422_posts,需要在post_name列中处理一种类型的值。实际上,我需要操纵以4位数字(唯一ID)开头的长值,而不是文本,我需要获取4位数字并将其保留在那里。有人可以帮我吗?我是MySQL的新手。其他值-不能以4位数开头和破折号必须保持不变。

post_name值的一个示例


旧:
“ 2147-sprava-uzivatelskych-uctu-databaze-oracle-v-prostredi-autocad-map-3d”
想要的
新版:“ 2147”


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

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


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

如何摆脱不需要的部分?

非常感谢您的帮助。

最佳答案

如果您确定起始部分始终是4位数字,并且只需要该数字,则可以使用以下命令:

SELECT LEFT(COL_NAME, 4)
FROM `wp422_posts`


然后,您可以使用update语句更新表。像这样的东西:

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


希望这可以帮助!!

关于mysql - mysql-搜索模式并替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32046509/

10-09 20:28
查看更多