我有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/