如何更改sql後逗號後的價格值?如何在sql中更改逗號後的值(價格欄)
我有一個值爲35.345等的表。我想將所有值更改爲xx.95。 所以我想所有的價格分部分保留逗號的左側,因爲它是和更改爲95
UPDATE `oc_product` <br>
SET price=RIGHT(price,95)<br>
WHERE price<> .95;
或不便。 ?
如何更改sql後逗號後的價格值?如何在sql中更改逗號後的值(價格欄)
我有一個值爲35.345等的表。我想將所有值更改爲xx.95。 所以我想所有的價格分部分保留逗號的左側,因爲它是和更改爲95
UPDATE `oc_product` <br>
SET price=RIGHT(price,95)<br>
WHERE price<> .95;
或不便。 ?
在Oracle中,你會怎麼做:
update OC_PRODUCT
set PRICE = floor(PRICE) + 0.95;
這將設置所有價格的東西xx.95。
而且我假設你的價格是數字數據類型...
編輯:
據我所知,SQL好友意味着MySQL中,語法將保持不變。
非常感謝! – laanojap
試試這個,如果價格有小數點的數據類型
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.95
如:
SELECT CAST(PRICE AS INT) + 0.95
MySQL支持CAST,但類型可能不是int。
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast
如果是價格,請使用數字數據類型。在顯示值時擔心逗號。 –
如果我正確理解你,然後值從sql表直接顯示。所以我不擔心逗號本身,但分值。 我已經用xml中的所有數據導入了大約1k的產品,但是我需要將cend部分更改爲.95,無需在逗號/點之前填入數字。 – laanojap
將你的xml數據放入一個具有varchar數據類型的登臺表中。使用您的SQL Buddy字符串函數將逗號/句點左邊的部分更新爲95.使用您的SQL Buddy字符串函數將所有逗號更改爲句點。將這些新字符串轉換爲浮點數並放入真實表格中。 –