如何在sql(价格列)中更新逗号后的值
如何在sql中更改逗号后的价格值 我有一个值为35.345等的表。我想将所有值更改为xx.95。 所以我想保持逗号的左边不变,把所有的价格分为95如何在sql(价格列)中更新逗号后的值,sql,comma,sqlbuddy,Sql,Comma,Sqlbuddy,如何在sql中更改逗号后的价格值 我有一个值为35.345等的表。我想将所有值更改为xx.95。 所以我想保持逗号的左边不变,把所有的价格分为95 UPDATE `oc_product` <br> SET price=RIGHT(price,95)<br> WHERE price<> .95; 更新'oc\u产品` 设定价格=正确(价格,95) 其中价格为0.95; 还是smth 在Oracle中,您可以执行以下操作: update OC_PRODUCT
UPDATE `oc_product` <br>
SET price=RIGHT(price,95)<br>
WHERE price<> .95;
更新'oc\u产品`
设定价格=正确(价格,95)
其中价格为0.95;
还是smth 在Oracle中,您可以执行以下操作:
update OC_PRODUCT
set PRICE = floor(PRICE) + 0.95;
这会将所有价格设置为xx.95
我假设你的价格是一个数字数据类型
编辑:
据我所知,SQLBuddy意味着MySQL,语法将保持不变 如果price有decimal数据类型,请尝试此选项
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 例如: MySQL支持强制转换,但类型可能不是int
如果是价格,请使用数字数据类型。显示值时,请担心逗号。如果我理解正确,则值将直接从sql表中显示。因此,我不担心逗号本身,而是担心分数值。我已经导入了大约1k个产品,其中包含来自xml的所有数据,但我需要将cend部分更改为.95,逗号/点之前的数字是多少。将xml数据放入具有varchar数据类型的暂存表中。使用SQL好友字符串函数将逗号/句点的左侧部分更新为95。使用SQL好友字符串函数将所有逗号更改为句点。将这些新字符串转换为float,并将它们放入真实的表中。您不需要round(),您需要floor()。我不需要round()-这是真的:)
SELECT CAST(PRICE AS INT) + 0.95