[英]Remove dots and commas from numbers in MySQL database
在Wordpress MySQL數據庫的wp_postmeta table
,大多數行具有meta_key='price'
和meta_value='XXX'
,其中XXX是數字。 meta_value是一個長文本字段。 存儲在其中的數字具有不同的形狀,其中一些存儲有一個點,表示一千(10.000表示一萬),另一些存儲有一個逗號,表示百分數(10,00表示十)。 如何刪除點和逗號,使之成為一個純數字,而不是百分之一百? 換句話說,100.000應該是100000,而10,00應該是10預先感謝您的回答!
嘗試全局替換功能
UPDATE wp_postmeta
SET meta_value = REPLACE(REPLACE(meta_value,',00',''),'.','')
WHERE meta_key='price';
您需要注意如何執行此操作。 我建議檢查“。” 或','在字符串末尾。 這需要從末尾看第三個字符:
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'
您將需要遍歷數據庫中的行,僅刪除。並刪除,和之后的兩個字符。
我不明白為什么您會反向使用這些符號。
另外,請注意,修改數據庫可能會更改WordPress解釋數據的方式。
嘗試更換:
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, '.', '') WHERE meta_key='price';
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, ',', '') WHERE meta_key='price'
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
使用風險自負。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.