克、毫克、微克和千焦的最佳 mysql 数据类型
我对数据库的数据类型非常怀疑,我需要使用不同的测量单位,因为我有不同的元素和不同的比例,并且我确定使用的限制,因为我从标准元素中获取它们,但我担心品种。
考虑一下我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于当前版本的 MySQL 中的最大十进制数 999999.9999,您需要将字段定义为:(
它很容易与 DECIMAL (6, 4) 混淆,后者在旧版本的 MySQL 中是正确的,但< em>最新的不正确)
For a 999999.9999 max decimal in the current version of MySQL, you would need to define field as:
(it's easily confused with DECIMAL (6, 4) which was correct in older versions of MySQL, but is incorrect on the latest)
根据需要以精度使用 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.
我认为您可以为此类数据选择 DECIMAL 数据类型。您可以指定逗号之前和之后需要存储多少个符号。
像这样:
表示您可以在此字段中存储最大 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:
means that you can store maximum 999999.9999 value in this field.