MySQL中可以用来做价格的字段一般有float、double、decimal
①.、FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
如果指定UNSIGNED,不允许负值.
为DOUBLE的同义词.除了:如果SQL服务器模式包括REAL_AS_FLOAT选项,REAL是FLOAT的同义词而不是DOUBLE的同义词.
FLOAT(p)语法与ODBC兼容.
是DECIMAL的同义词.FIXED同义词适用于与其它服务器的兼容性.
土嘎嘎的粉丝们大家好:由于价格是属于货币类型的.
所以可以使用decimal(m,n)这个数据类型来精确表达价格
不要使用float
double等浮点数据类型
因为它们是不精确的
特别是在计算的时候
DECIMAL和NUMERIC都行
DECIMAL和NUMERIC类型在MySQL中视为相同的类型.它们用于保存必须为确切精度的值,例如货币数据.当声明该类型的列时,可以(并且通常要)指定精度和标度;例如:
对于游戏币等代币,一般存储为int类型是可行的.问题在于越界,int类型长度为11位.
Decimal:Decimal为专门为财务相关问题设计的数据类型.
扩展资料
MySQL数据类型DECIMAL用法:
MySQL?DECIMAL数据类型用于在数据库中存储精确的数值.我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据.
要定义数据类型为DECIMAL的列,请使用以下语法:column_name?DECIMAL(P,D);
在上面的语法中:
DECIMAL(P,D)表示列可以存储D位小数的P位数.十进制列的实际范围取决于精度和刻度.
与INT数据类型一样,DECIMAL类型也具有UNSIGNED和ZEROFILL属性. 如果使用UNSIGNED属性,则DECIMAL UNSIGNED的列将不接受负值.
如果使用ZEROFILL,MySQL将把显示值填充到0以显示由列定义指定的宽度. 另外,如果我们对DECIMAL列使用ZERO FILL,MySQL将自动将UNSIGNED属性添加到列.
以上就是土嘎嘎小编为大家整理的mysql中怎么定义价格相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!