克、毫克、微克和千焦的最佳 mysql 数据类型

发布于 2024-08-13 11:10:10 字数 432 浏览 8 评论 0原文

我对数据库的数据类型非常怀疑,我需要使用不同的测量单位,因为我有不同的元素和不同的比例,并且我确定使用的限制,因为我从标准元素中获取它们,但我担心品种。

考虑一下我使用 100 克产品并从中获取所有元素,所以,我确信我的蛋白质摄入量不能超过 100 克,但我可以达到 3500 千焦耳或 3.27 毫克铁元素。

所以我认为我需要各种数据类型,但我不确定正确的类型。
我将显示最大值以更清楚地了解单位限制:

grams          99,99 g
milligrams   9999,99 mg
micrograms  99999    µg
kilojoule    9999    kj

那么,正确的方法是什么?
我确信最好的方法(最佳性能)是存储各种元素及其标准值(例如,卡路里的千焦耳),但是等效的数据类型是什么?

I'm very dubious about datatype of my database, I need to use different unit of measurements because I have different elements and different scales, and I'm sure about the limits used, because I take them from standard elements, but I'm afraid about the variety.

Just consider I work with 100 grams of product and take from it all elements, so, I'm sure I can't go over 100 grams for proteins, but i can reach 3500 kilojoule or 3,27 milligrams of iron element.

So I need various datatypes I think, but I'm not sure about the right kind.
I'll show the max values to be more clear about the unit limits:

grams          99,99 g
milligrams   9999,99 mg
micrograms  99999    µg
kilojoule    9999    kj

So, what is the right way?
I'm sure the best way (the best performance) is to store the various elements with their standard values (for example, kilojoule for calories) but what are the datatype equivalents?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情徒 2024-08-20 11:10:10

对于当前版本的 MySQL 中的最大十进制数 999999.9999,您需要将字段定义为:(

DECIMAL (10, 4)

它很容易与 DECIMAL (6, 4) 混淆,后者在旧版本的 MySQL 中是正确的,但< em>最新的不正确)

参见:

<块引用>

十进制(3,2)值在 MySQL 中始终为 9.99

M、D 的十进制表示什么( M,D)到底是什么?

For a 999999.9999 max decimal in the current version of MySQL, you would need to define field as:

DECIMAL (10, 4)

(it's easily confused with DECIMAL (6, 4) which was correct in older versions of MySQL, but is incorrect on the latest)

SEE:

Decimal(3,2) values in MySQL are always 9.99

What does M,D mean in decimal(M,D) exactly?

生寂 2024-08-20 11:10:10

根据需要以精度使用 MySql DECIMAL。 FLOAT 可能无法为您提供准确存储值所需的精度。

Make use of MySql DECIMAL with precision as required. FLOAT might not give you the precision required to store the values exactly.

纵性 2024-08-20 11:10:10

我认为您可以为此类数据选择 DECIMAL 数据类型。您可以指定逗号之前和之后需要存储多少个符号。
像这样:

DECIMAL (6, 4)

表示您可以在此字段中存储最大 999999.9999 的值。

I think that you can choose DECIMAL data type for such data. You can specify how many symbols need to store before comma and after.
Like this:

DECIMAL (6, 4)

means that you can store maximum 999999.9999 value in this field.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文