我的表中有几个字段的金额列为小数类型。此列将包含存款金额(正值)或取款金额(负值)。我将正值存储为120,将负值存储为-50。我对列求和并得到预期的结果。Mysql版本为:5.1.33-community。当我查看有关十进制的mysql文档时,我对它们的描述感到困惑。BeforeMySQL5.0.3,ifyouinserted+0003.1intoaDECIMAL(5,1)column,itwasstoredas+0003.1.AsofMySQL5.0.3,itisstoredas3.1.Fornegativenumbers,aliteral-characterisnolongerst
有点大的表(约10,000条记录)中的一列的数据类型为DECIMAL(10,0)。我正在使用MySQL。我希望这些值显示到小数点后两位,所以我需要将其更改为DECIMAL(10,2),而不会破坏表的现有记录。这是怎么做到的? 最佳答案 您使用的是哪个数据库管理系统?对于MySQL,你可以这样尝试:altertabletblNamemodifycolumnNamenewDataType; 关于mysql-如何修改现有列的数据类型?,我们在StackOverflow上找到一个类似的问题:
我需要存储一串逗号分隔值。'1,23,47'or'1'or''(null)哪种数据类型最适合逗号分隔值?Note:Iamonlyaskingwhichdatatypewouldbeappropriateforthisscenario. 最佳答案 根据您期望的字符串大小决定varchar的大小。如果您不知道字符串的长度,您可以使用TEXT数据类型。 关于MySQL:我应该为逗号分隔值的字符串使用什么数据类型?,我们在StackOverflow上找到一个类似的问题:
我正在尝试解析“DESCRIBE[TABLE]”返回的MySQL数据类型。它返回如下字符串:int(11)floatvarchar(200)int(11)unsignedfloat(6,2)我已经尝试使用正则表达式来完成这项工作,但它不起作用。PHP代码:$string="int(11)numeric";$regex='/(\w+)\s*(\w+)/';var_dump(preg_split($regex,$string)); 最佳答案 查询informationschema用于内省(introspection)表和列等。
我有两个选项可以在MySQL中存储DOB(出生日期)。以下哪种方法更好?使用DateType存储DOB在MySQL中,或将DOB值分别存储在不同的字段中,例如一个字段中的日期、另一个字段中的月份和另一个字段中的年份?如果客户端只想显示月份和日期,如果我们将DOB存储在MySQL的日期类型中,是否可以检索它? 最佳答案 我会说总是将日期存储为DATE类型。MySQL有一个主机datefunctions它将计算时间跨度,按照您希望的方式格式化日期,并为您提取日期片段。例如,如果您只需要月份,只需执行MONTH(DOB)。如果您需要更有说
我有2列包含文本,一列最多150个字符,另一列最多700个字符,我的问题是,我应该对两种varchar类型都使用还是应该对700个字符长的列使用文本?为什么?谢谢, 最佳答案 MySQLvarchar数据类型不能保存超过255个字符的数据。而在MySQL>=5.0.3中,它最多有65,535个字符。因此,这取决于您的目标平台以及您的可部署性要求。如果您想确保它能在低于5.0.3的MySQL版本上运行,请为较长的列使用text类型的数据字段http://dev.mysql.com/doc/refman/5.0/en/char.html
如果没有精确的上下文,我敢肯定这个问题是不完整的,所以我会尝试解释它,并且我会尽量清楚我需要存储整个页面上显示的数据,包括克、毫克、微克和千焦耳。所有这些数据都像99999.99g(相差千焦耳),因此我可以对旧版MySql使用DECIMAL(7,2)或DECIMAL(5,2)。但是,我在mysql站点上看到,DECIMAL数据类型比MEDIUMINT更重(我错了吗?)足以存储数据。主要是,我将对小数进行数字运算或者从用户机器上float,不需要再次存储它们,所以我怀疑在这种情况下什么是最好的数据类型。那么在这种情况下最好的数据类型是什么? 最佳答案
我想在MySql中存储科学记数法。我已将它们保存到数据类型为decimal的字段中。问题是它以正常符号存储它(至少当我在MAMP附带的Web控制台中查看数字时看起来是这样),因此您需要为该字段分配更多字节......我相信这会导致拥有一个非常大的数据库。有没有办法按原样存储科学计数法(信息单位少得多),但仍然能够进行数字计算,例如(最后一条评论的上下文是,如果您只需要显示值,您可以将其存储为文本类型,但这对我来说不合适)。 最佳答案 FLOAT和DOUBLE数据类型可以使用科学记数法显示(和插入):CREATETABLEnumSC(
任何人都可以根据下面的示例向我解释FLOAT在mySQL中的工作原理吗?我知道float是近似值,但真的有这么大的区别吗?而且只有9位数字,所以不是溢出问题,不是吗?mysql>createtablet(fFLOAT(15,2),dbDOUBLE);mysql>insertintot(f,db)VALUES(512659663,512659663);mysql>select*fromt;+--------------+-----------+|f|db|+--------------+-----------+|512659648.00|512659663|+--------------
我希望用户能够以PDF、.txt、.doc、.docx格式上传他们的简历;并允许潜在雇主下载该文件。我应该使用什么数据类型?在MSMSQL中,我会使用varbinary(max),对吗?但是由于我是MySQL的新手,所以我有点困惑。:) 最佳答案 您必须使用BLOB类型 关于php-如果我想保存来自使用PHP和MySQL的用户的文件,我应该使用什么数据类型?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c