如何更改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字符串函数将所有逗号更改为句点。将这些新字符串转换为浮点数并放入真实表格中。 –