在wp_postmeta table的Wordpress MySQL数据库中,meta_key='price'和meta_value='XXX'是最多的行,其中XXX是一个数字。meta_value是一个很长的文本字段。存储在其中的数字具有不同的形状,其中一些是用一个点存储的,这意味着千(10.000表示一万)另一些是用逗号存储的,这意味着百分之一(10,00表示十)。如何去掉圆点和逗号,这样才能有一个纯数字,没有百分位?换句话说,100.000应该是100000,10,00应该是10提前谢谢你的回答!
发布于 2012-06-26 23:37:57
尝试全局函数
UPDATE wp_postmeta
SET meta_value = REPLACE(REPLACE(meta_value,',00',''),'.','')
WHERE meta_key='price';发布于 2012-06-27 00:37:55
您需要注意如何执行此操作。我建议你检查一下‘’或字符串末尾的',‘。这需要查看末尾的第三个字符:
update wp_postmeta
set meta_value = (case when left(right(meta_value, 3), 1) = '.'
then replace(meta_value, ',', '')
when left(right(meta_value, 3), 1) = ','
then replace(meta_value, '.', '')
else replace(replace(meta_value, ',', ''), '.', '')
end)
where meta_key = 'price'发布于 2012-06-26 23:33:57
您需要遍历数据库中的行,只需删除.的,和后面的两个字符。
我不明白你为什么要倒着使用这些符号。
另外,要小心,因为修改数据库可能会改变WordPress解释数据的方式。
https://stackoverflow.com/questions/11210759
复制相似问题