2

如何在sql中的逗号后更改价格值?

我有一个值 35.345 等的表。我想将所有值更改为 xx.95。所以我想保持逗号左侧不变,并将所有价格分部分更改为 95。

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

或某事 ?

4

3 回答 3

0

在 Oracle 中,你会这样做:

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

这会将所有价格设置为 xx.95。

我假设你的价格是一个数字数据类型......

编辑:

据我所知,SQL Buddy 表示 MySQL,语法将保持不变。

于 2013-11-09T16:38:11.720 回答
0

如果价格具有十进制数据类型,请尝试此操作

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';
于 2013-11-09T16:53:50.493 回答
0

您还可以将数字转换为整数值以删除小数并添加 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

于 2013-11-09T17:20:33.960 回答