首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问MySQL奇怪的价格字段

访问MySQL奇怪的价格字段
EN

Stack Overflow用户
提问于 2011-05-03 22:10:16
回答 2查看 237关注 0票数 0

我正在开发一个使用ms-access数据库的应用程序的新版本,因为它变得太慢了。所以我决定使用MySQL作为数据库。我对我的选择很满意。问题是我有一个巨大的数据库,里面装满了价格。这些价格在旧的应用程序中显示正确,但在我的数据库中显示如下:'26,.000000.00''71,9.00000.00''24,9.00000.00'。此字段为

代码语言:javascript
复制
'price' VARCHAR(255) NOT NULL DEFAULT '0', 

我不知道如何解决这个问题。这是因为数据类型,还是因为应用程序真的很糟糕?

EN

回答 2

Stack Overflow用户

发布于 2011-05-03 22:32:08

我不知道如何解决这个问题。这是因为数据类型,还是因为应用程序真的很糟糕?

问题应该是数据类型。此thread将帮助您选择一个。

此外,您可能希望将列转换为decimal (或其他数字)类型。它是这样的

  • 添加所需类型的新列,ALTER TABLE herpderp add new_price Decimal (19,4)
  • 从旧列填充该列(您需要一个方便的函数将字符串转换为数字) update herpderp set new_price = handy_function(price)
  • 删除旧列ALTER TABLE herpderp DROP COLUMN price
  • 将新列重命名为旧名称code
票数 3
EN

Stack Overflow用户

发布于 2011-05-03 22:24:01

我认为你应该使用正确的数据类型来存储这些值,如果你试图存储价格(货币),那么你应该使用Decimal数据类型。

这就是文档所说的:

固定点(精确值)类型

DECIMAL和NUMERIC类型存储精确的数值数据值。这些类型用于保持精确精度非常重要的情况,例如货币数据。在MySQL中,NUMERIC被实现为DECIMAL,因此以下关于DECIMAL的备注同样适用于NUMERIC。

你可以在这里阅读更多信息:http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5870750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档