Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


11.2 数値型

MySQL はすべての標準 SQL 数値データ型をサポートします。これらの型は、概数値データ型 (FLOATREALDOUBLE PRECISION) だけでなく、真数値データ型 (INTEGERSMALLINTDECIMALNUMERIC) を含みます。キーワード INTINTEGER のシノニムで、キーワード DEC および FIXEDDECIMAL のシノニムです。MySQL では、DOUBLEDOUBLE PRECISION (非標準の拡張) のシノニムと見なされます。また、REAL_AS_FLOAT SQL モードが有効でないかぎり、REALDOUBLE PRECISION (非標準のバリエーション) のシノニムと見なされます。

BIT データ型は、ビットフィールド値を格納し、MyISAMMEMORYInnoDB、および NDB テーブルでサポートされています。

範囲外の値のカラムへの割り当てと、式の評価中のオーバーフローに対する MySQL での処理の詳細は、セクション11.2.6「範囲外およびオーバーフローの処理」を参照してください。

数値型のストレージの要件の詳細は、セクション11.7「データ型のストレージ要件」を参照してください。

数値オペランドで計算の結果に使用されるデータ型は、オペランドの型と実行される演算によって異なります。詳細は、セクション12.6.1「算術演算子」を参照してください。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
  Posted by Miroslav Šustek on October 29, 2010
Be careful when considering ENUM('T','F') as "true binary".

Example:
CREATE TABLE `bits` (
`val` ENUM('T','F') NOT NULL
);

mysql> INSERT INTO `bits` (`val`) VALUES ('W'), ('T'), ('F');
Query OK, 3 rows affected, 1 warning (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 1

mysql> SHOW WARNINGS;
+---------+------+------------------------------------------+
| Level | Code | Message |
+---------+------+------------------------------------------+
| Warning | 1265 | Data truncated for column 'val' at row 1 |
+---------+------+------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT COUNT(DISTINCT val) FROM bits;
+---------------------+
| COUNT(DISTINCT val) |
+---------------------+
| 3 |
+---------------------+
1 row in set (0.00 sec)

Well, shouldn't a binary type have only two distinct values?
(Note that it isn't NULL.)

Explanation from manual (10.4.4. The ENUM Type):
-----
If you insert an invalid value into an ENUM (that is, a string not present in the list of permitted values), the empty string is inserted instead as a special error value. This string can be distinguished from a “normal” empty string by the fact that this string has the numeric value 0. More about this later.

If strict SQL mode is enabled, attempts to insert invalid ENUM values result in an error.
  Posted by Waheed Alshahnan on November 23, 2012
There is a know problem when using tinyint(1) and UNION look at bug: #61131
Sign Up Login You must be logged in to post a comment.