范围,但是显示尺寸和小数位数是未定 义的。在 MySQL3.23 中,这是一个真正的浮点值。在更早的 MySQL 版本中,FLOAT(precision总是有 2 位小数。该句法为了 ODBC 兼容性而提供。 575. 576. 577. FLOAT[(M,D] [ZEROFILL] 一个小(单精密浮点数字。不能无符号。允许的值是-3.402823466E+38 到-1.175494351E-38, 0 和 1.175494351E-38 到 3.402823466E+38。M 是显示宽度而 D 是小数的位数。没有参数的 FLOAT 或有 <24 的一个参数表示一个单精密浮点数字。 578. 579.
DOUBLE[(M,D] [ZEROFILL] 一个正常大小(双精密浮点数字。不能无符号。允许的值是-1.7976931348623157E+308 到 -2.2250738585072014E-308、 0 和
2.2250738585072014E-308 到 1.7976931348623157E+308。M 是 显示宽度而 D 是小数位数。没有一个参数的 DOUBLE 或 FLOAT(X(25 < = X < = 53)代表一个双精密 浮点数字。 580. 581. 582. 583. 584. DOUBLE PRECISION[(M,D] [ZEROFILL] REAL[(M,D] [ZEROFILL] 这些是 DOUBLE 同义词。 DECIMAL[(M[,D]] [ZEROFILL] 一个未压缩(unpack的浮点数字。不能无符号。行为如同一个 CHAR 列:“未压缩”意味着数字作 为一个字符串被存储,值的每一位使用一个字符。小数点,并且对于负数,“-”符号不在 M 中计算。如果 D 是 0,值将没有小数点或小数部分。DECIMAL 值的最大范围与 DOUBLE 相同,但是对一个给定的
DECIMAL 列,实际的范围可以通过 M 和 D 的选择被限制。如果 D 被省略,它被设置为 0。如果 M 被省掉,它被设置 为 10。注意,在 MySQL3.22 里,M 参数包括符号和小数点。 585. 586. 587. 588. 589. 590. 591. NUMERIC(M,D [ZEROFILL] 这是 DECIMAL 的一个同义词。 DATE 一个日期。支持的范围是'1000-01-01'到'9999-12-31'。MySQL 以'YYYY-MM-DD'格式来显示 DATETIME 一个日期和时间组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。 DATE 值,但是允许你使用字符串或数字把值赋给 DATE 列。 MySQL 以'YYYY-MM-DD HH:MM:SS'格式来显示 DATETIME 值,但是允许你使用字符串或数字把值赋给 DATETIME 的列。 592. 593. TIMESTAMP[(M] 一个时间戳记。 范围是'1970-01-01 00:00:00'到 2037 年的某时。 MySQL 以 YYYYMMDDHHMMSS、 YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD 格式来显示 TIMESTAMP 值,取决于是否 M 是 14(或省略、12、8
或 6,但是允许你使用字符串或数字把值赋给 TIMESTAMP 列。一个 TIMESTAMP 列对于记录一个 INSERT 或 UPDATE 操作的日期和时间是有用的, 因为如果你不自己给它赋值, 它自动地被设置为最近操作的日期和时 间。你以可以通过赋给它一个 NULL 值设置它为当前的日期和时间。 594. 595. 596. 597. TIME 一个时间。范围是'-838:59:59'到'838:59:59'。MySQL 以'HH:MM:SS'格式来显示 TIME 值, YEAR[(2|4] 一个 2 或 4 位数字格式的年(缺省是 4 位。允许的值是 1901 到 2155,和 0000(4 位年格式), 但是允许你使用字符串或数字把值赋给 TIME 列。 如果你使用 2 位,1970-2069( 70-69。MySQL 以 YYYY 格式来显示 YEAR 值,但是允许你把使用字符串 或数字值赋给 YEAR 列。(YEAR 类型在
MySQL3.22 中是新类型。) 598. 599. CHAR(M [BINARY] 一个定长字符串, 当存储时, 总是是用空格填满右边到指定的长度。 M 的范围是 1 ~ 255 个字符。 当值被检索时,空格尾部被删除。CHAR 值根据缺省字符集以大小写不区分的方式排序和比较,除非给出 BINARY 关键词。NATIONAL CHAR(短形式 NCHAR是 ANSI SQL 的方式来定义 CHAR 列应该使用缺省字符 集。这是 MySQL 的缺省。CHAR 是 CHARACTER 的一个缩写。 600. 601. [NATIONAL] VARCHAR(M [BINARY] 一个变长字符串。注意:当值被存储时,尾部的空格被删除(这不同于 ANSI SQL 规范。M 的范 围是 1 ~ 255 个字符。 VARCHAR 值根据缺省字符集以大小写不区分的方式排序和比较, 除非给出 BINARY 关键词值。 VARCHAR 是 CHARACTER VARYING 一个缩写。 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. TINYBLOB TINYTEXT 一个 BLOB 或 TEXT 列,最大长度为 255(2^8-1个字符。 BLOB TEXT 一个 BLOB 或 TEXT 列,最大长度为 65535(2^16-1个字符。 MEDIUMBLOB MEDIUMTEXT 一个 BLOB 或 TEXT 列,最大长度为 16777215(2^24-1个字符。 LONGBLOB LONGTEXT 一个 BLOB 或 TEXT 列,最大长度为 4294967295(2^32-1个字符。 ENUM('value1','value2',... 枚举。一个仅有一个值的字符串对象,这个值式选自与值列表'value1'、'value2', ...,或 SET('value1','value2',... 一个集合。能有零个或多个值的一个字符串对象,其中每一个必须从值列表 NULL。一个 ENUM 最多能有 65535 不同的值。 'value1', 'value2', ...选出。一个 SET 最多能有 64 个成员。