Microsoft Access、MySQL および SQL Server のデータ型と範囲
| データ型 | 説明 | Storage |
|---|---|---|
| Text | テキストやテキストと数字の組合せに使用。最大 255 文字 | |
| Memo | モは大量のテキストに使用。 65,536文字まで保存。 注: memo フィールドのソートはできないが、検索は可能 | |
| Byte | 0 から 255 までの数値が指定可 | 1 byte |
| Integer | 32,768 から 32,767 までの間の数値が指定可 | 2 bytes |
| Long | -2,147,483,648 から 2,147,483,647 までの間の数値が指定可 | 4 bytes |
| Single | 単精度浮動小数点 | 4 bytes |
| Double | 倍精度浮動小数点 | 8 bytes |
| Currency | 通貨に使用。整数部 15 桁、小数部 4 桁の数値を格納。 チップ: 使用する国の通貨を選択することができる | 8 bytes |
| AutoNumber | オートナンバー型フィールドは、通常 1 から始まる番号を各レコード毎に設定する | 4 bytes |
| Date/Time | 日付と時間に使用 | 8 bytes |
| Yes/No | Yes/No、True/False または On/Off のように表示可能な論理フィールド。 コードでは、定数として True と False(-1 と 0 に同じ)を使用する。 注: NULL 値は、Yes/No フィールドでは使用できません | 1 bit |
| Ole オブジェクト | 画像、オーディオ、ビデオやその他の BLOB(Binary Large OBjects)を格納。 | up to 1GB |
| Hyperlink | web ページを含む、他のファイルへのリンクが含まれる | |
| Lookup Wizard | 選択肢のリストを入力し、その後、ドロップダウン・リストから選択ができる | 4 bytes |
MySQL には、文字列、数値および日付/時間の 3 つの主要なデータ型があります。
文字列型:
| データ型 | 説明 |
|---|---|
| CHAR(size) | 固定長の文字列(文字、数字、特殊文字)を格納する。固定サイズは括弧内に指定する。255 文字まで格納できる |
| VARCHAR(size) | 可変長の文字列(文字、数字、特殊文字)を格納する。最大サイズを括弧内に指定する。255 文字まで保存できる 注: 255 よりも大きい値を設定した場合、テキスト型に変換される |
| TINYTEXT | 最大255文字までの文字列を格納 |
| TEXT | 最大65,535文字までの文字列を格納 |
| BLOB | BLOB(Binary Large OBjects)用。65,535 bytes までのデータを格納 |
| MEDIUMTEXT | 最大16,777,215文字までの文字列を格納 |
| MEDIUMBLOB | BLOB(Binary Large OBjects)用。16,777,215 bytes までのデータを格納 |
| LONGTEXT | 最大4,294,967,295文字までの文字列を格納 |
| LONGBLOB | BLOB(Binary Large OBjects)用。4,294,967,295 bytes までのデータを格納 |
| ENUM(x,y,z,etc.) | 可能な値のリストを入力。ENUM リストには65535までの値をリスト可能。
リストにない値を挿入すると、空白値が挿入される。 注: 値は、入力順にソートされる。 ENUM('X','Y','Z') のフォーマットで値を入力する |
| SET | SET は、最大64までのリスト項目である点を除き ENUM と同じで、複数の選択肢を格納することができる |
数値型:
| データ型 | 説明 |
|---|---|
| TINYINT(size) | 通常 -128 ~ 127 。符号なし*の場合 0 ~ 255 。最大桁数は、括弧内に指定することができる |
| SMALLINT(size) | 通常 -32768 ~ 32767 。符号なし*の場合 0 ~ 65535 。最大桁数は、括弧内に指定することができる |
| MEDIUMINT(size) | 通常 -8388608 ~ 8388607 。符号なし*の場合 0 ~ 16777215 。最大桁数は、括弧内に指定することができる |
| INT(size) | 通常 -2147483648 ~ 2147483647 。符号なし*の場合 0 ~ 4294967295 。最大桁数は、括弧内に指定することができる |
| BIGINT(size) | 通常 -9223372036854775808 ~ 9223372036854775807 。符号なし*の場合 0 ~ 18446744073709551615 。最大桁数は、括弧内に指定することができる |
| FLOAT(size,d) | 浮動小数点数。最大桁数は size パラメータで指定することができる。 小数点以下の桁数の最大値は、d パラメータで指定する |
| DOUBLE(size,d) | 浮動小数点数。最大桁数は size パラメータで指定することができる。 小数点以下の桁数の最大値は、d パラメータで指定する |
| DECIMAL(size,d) | A DOUBLE stored as a string , allowing for a fixed decimal point. 最大桁数は size パラメータで指定することができる。 小数点の右の最大桁数は、d パラメータで指定する |
*整数型には、符号なしという特別なオプションがあります。通常、整数は負と正の値から成ります。 UNSIGNED 属性を追加すると、その範囲が上に移動して、負数に代わってゼロからスタートするようになります。
日付型:
| データ型 | 説明 |
|---|---|
| DATE() | 日付。フォーマット:YYYY-MM-DD 注: サポート範囲は、'1000-01-01' ~ '9999-12-31' |
| DATETIME() | *日付と時間の組合せ。フォーマット:YYYY-MM-DD HH:MM:SS 注: サポート範囲は、'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59' |
| TIMESTAMP() | *タイムスタンプ。TIMESTAMP 値は、UNIXエポック('1970-01-01 00:00:00' UTC)からの秒数として格納される。
フォーマット:YYYY-MM-DD HH:MM:SS 注: サポート範囲は、'1970-01-01 00:00:01' UTC ~ '2038-01-09 03:14:07' UTC |
| TIME() | 時間。フォーマット:HH:MM:SS 注: サポート範囲は、'-838:59:59' to '838:59:59' |
| YEAR() | 2桁または4桁フォーマットの年。 注: 4桁フォーマットで可能な値:1901 ~ 2155。2桁フォーマットで可能な値:70 ~ 69 で、1970年から2069年を表す |
*DATETIME と TIMESTAMPは、同じフォーマットを返したとしても、内容は全く異なります。 TIMESTAMP は、INSERT や UPDATE クエリでは自動的に現在の日付と時刻を設定します。 TIMESTAMP は、YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD、またはYYMMDDのような様々な形式も設定できます。
文字列型:
| データ型 | 説明 | Storage |
|---|---|---|
| char(n) | 固定幅の文字列。最大8,000文字 | 幅を定義 |
| varchar(n) | 可変幅の文字列。最大8,000文字 | 2 bytes + 文字数 |
| varchar(max) | 可変幅の文字列。最大1,073,741,824文字 | 2 bytes + 文字数 |
| text | 可変幅の文字列。最大2ギガバイトのテキストデータ | 4 bytes + n文字数 |
| nchar | 固定幅のUnicode文字列。最大4,000文字 | 定義幅 x 2 |
| nvarchar | 可変幅のUnicode文字列。最大4,000文字 | |
| nvarchar(max) | 可変幅のUnicode文字列。最大536,870,912文字 | |
| ntext | 可変幅のUnicode文字列。最大2ギガバイトのテキストデータ | |
| bit | 0, 1, または NULL | |
| binary(n) | 固定幅のバイナリ文字列。最大8,000バイト | |
| varbinary | 可変幅のバイナリ文字列。最大8,000バイト | |
| varbinary(max) | 可変幅のバイナリ文字列。最大 2GB | |
| image | 可変幅のバイナリ文字列。最大 2GB |
数値型:
| データ型 | 説明 | Storage |
|---|---|---|
| tinyint | 0 ~ 255 の間の整数 | 1 byte |
| smallint | -32768 ~ 32767 の間の整数 | 2 bytes |
| int | -2,147,483,648 ~ 2,147,483,647 の間の整数 | 4 bytes |
| bigint | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 の間の整数 | 8 bytes |
| decimal(p,s) | 固定精度およびスケールの数値。
-10^38 +1 ~ 10^38 –1 の間の数値。 p パラメータは、格納できる最大桁数を表す(小数点の左と右側の両方)。 p は 1 から 38 までの値でなければならない。デフォルトは 18 s パラメータは、小数点の右側に格納される最大桁数を表す。 s は 0 から p までの値でなければならない。デフォルト値は 0 |
5-17 bytes |
| numeric(p,s) | 固定精度およびスケールの数値。
-10^38 +1 ~ 10^38 –1 の間の数値。 p パラメータは、格納できる最大桁数を表す(小数点の左と右側の両方)。 p は 1 から 38 までの値でなければならない。デフォルトは 18 s パラメータは、小数点の右側に格納される最大桁数を表す。 s は 0 から p までの値でなければならない。デフォルト値は 0 |
5-17 bytes |
| smallmoney | -214,748.3648 ~ 214,748.3647 の通貨データ | 4 bytes |
| money | -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 の通貨データ | 8 bytes |
| float(n) | -1.79E + 308 ~ 1.79E + 308 の浮動小数点データ。 n パラメータは、4バイトまたは8バイトを格納するフィールドかどうかを示す。 float(24) は、4バイトのフィールドを持ち、float(53) は 8バイトのフィールドを持っています。 n のデフォルト値は 53 です。 |
4 or 8 bytes |
| real | -3.40E + 38 ~ 3.40E + 38 の浮動小数点データ | 4 bytes |
日付型:
| データ型 | 説明 | Storage |
|---|---|---|
| datetime | 3.33ミリ秒の精度で、1753年1月1日~9999年12月31日 | 8 bytes |
| datetime2 | 100ナノ秒の精度で、0001年1月1日~9999年12月31日 | 6-8 bytes |
| smalldatetime | 1分の精度で、1900年1月1日~2079年6月6日 | 4 bytes |
| date | 日付のみを格納。0001年1月1日~9999年12月31日 | 3 bytes |
| time | 100ナノ秒の精度で、時間のみを格納 | 3-5 bytes |
| datetimeoffset | タイムゾーンオフセットを加えた datetime2 と同じ | 8-10 bytes |
| timestamp | 行が作成または変更されるたびに、更新される固有の番号を格納する。 タイムスタンプ値は、内部クロックに基づいており、実時間には対応していない。 各テーブルには、1つのタイムスタンプ型変数を持つことができる |
その他のデータ型:
| データ型 | 説明 |
|---|---|
| sql_variant | text、ntext、およびタイムスタンプを除く、さまざまなデータ型のデータを最大8,000バイト格納 |
| uniqueidentifier | グローバル一意識別子(GUID)を格納 |
| xml | フォーマットのデータを格納。最大 2GB |
| cursor | データベース操作に使用するカーソルへの参照を格納 |
| table | 後で処理するために結果セットを格納 |