鉴于此表:
这个查询:
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH,
NUMERIC_PRECISION, IS_NULLABLE
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME='PARAMETERS'
ORDER BY TABLE_NAME, ORDINAL_POSITION
我得到这个结果:
如何检索整数列的大小?对于PAR_ID
(长度 = 2),我得到NUMERIC_PRECISION
5 分。
的定义NUMERIC_PRECISION
是“近似数值数据、精确数值数据、整数数据或货币数据的精度。否则,返回 NULL”。但是为什么 smallint(2) 的值为 5,例如 float(8) 的值为 53?这个值是什么意思?
更新:
感谢@Ed_Harper:长度和精度之间存在差异。长度是用于存储数字的字节数。精度是数字中的位数。见:http: //goo.gl/EOTyC