2013-11-09 25 views
2

如何更改sql後逗號後的價格值?如何在sql中更改逗號後的值(價格欄)

我有一個值爲35.345等的表。我想將所有值更改爲xx.95。 所以我想所有的價格分部分保留逗號的左側,因爲它是和更改爲95

UPDATE `oc_product` <br> 
SET price=RIGHT(price,95)<br> 
WHERE price<> .95; 

或不便。 ?

+0

如果是價格,請使用數字數據類型。在顯示值時擔心逗號。 –

+0

如果我正確理解你,然後值從sql表直接顯示。所以我不擔心逗號本身,但分值。 我已經用xml中的所有數據導入了大約1k的產品,但是我需要將cend部分更改爲.95,無需在逗號/點之前填入數字。 – laanojap

+0

將你的xml數據放入一個具有varchar數據類型的登臺表中。使用您的SQL Buddy字符串函數將逗號/句點左邊的部分更新爲95.使用您的SQL Buddy字符串函數將所有逗號更改爲句點。將這些新字符串轉換爲浮點數並放入真實表格中。 –

回答

0

在Oracle中,你會怎麼做:

update OC_PRODUCT 
    set PRICE = floor(PRICE) + 0.95; 

這將設置所有價格的東西xx.95。

而且我假設你的價格是數字數據類型...

編輯:

據我所知,SQL好友意味着MySQL中,語法將保持不變。

+0

非常感謝! – laanojap

0

試試這個,如果價格有小數點的數據類型

UPDATE oc_product 
SET price=round(price, 0) + 0.95 
WHERE price % 1 != 0.95; 

或者這一點,如果價格是一個char

UPDATE oc_product 
SET price=cast(cast(price as decimal) + 0.95 as char(4)) 
WHERE price not like '%.95'; 
+0

你不想round(),你想要floor()。 –

+0

我不想輪() - 這是真的:) –

+0

對於你的第二個版本,我認爲你的意思是'不喜歡'%.95'... – beny23