如何在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 Buddy 表示 MySQL,语法将保持不变。
如果价格具有十进制数据类型,请尝试此操作
UPDATE oc_product
SET price=round(price, 0) + 0.95
WHERE price % 1 != 0.95;
或者这个如果价格是一个字符
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