| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | 
| database:datatype [2009/08/18 17:53]  –  ともやん | database:datatype [2020/03/30 10:08] (現在)  –  ともやん | 
|---|
| ====== 各種データベースのデータ型比較 ====== | <html> | 
| ===== Access / SQL Server 比較 ===== | <style> | 
| ^  Access  ^^^^  SQL Server  ^^^ | #result pre, #mincode pre { | 
| ^  データ型  ^^  サイズ  ^  範囲/説明  ^  データ型  ^  サイズ  ^  範囲/説明  ^ | /*height: 300px;*/ | 
| |Yes/No 型  ||1 Bit  |Yes/No、True/False、On/Off など  |BIT  |1 Byte  |0, 1, NULL  | | overflow: scroll; | 
| |数値型  |バイト型  |1 Byte  |  |TINYINT  |1 Byte  |0 ~ 255  | | overflow-x: hidden; | 
| |  |整数型  |2 Byte  |  |SMALLINT  |2 Byte  |-2%%^%%15 (-32,768) ~ 2%%^%%15-1 (32,767)  | | font-size: 10px; | 
| |  |長整数型  |4 Byte  |  |INT  |4 Byte  |-2%%^%%31 (-2,147,483,648) ~ 2%%^%%31-1 (2,147,483,647)  | | } | 
| |(対応型なし)  ||  |  |BIGINT  |8 Byte  |-2%%^%%63 (-9,223,372,036,854,775,808) ~\\ 2%%^%%63-1 (9,223,372,036,854,775,807)  | | #mintbl table { | 
| |  |単精度浮動小数点型  |4 Byte  |  |REAL  |4 Byte  |- 3.40E+38 ~ -1.18E-38、0、および\\ 1.18E-38 ~ 3.40E+38  | | font-size: 12px; | 
| |  |倍精度浮動小数点型  |8 Byte  |  |FLOAT(n)  |4 Byte(n = 1~24 有効桁 7)\\ 8 Byte(n = 25~53 有効桁 15)  |- 1.79E+308 ~ -2.23E-308、0、および\\ 2.23E-308 ~ 1.79E+308  | | } | 
| |  |レプリケーションID型(GUID)  |128 Bit\\ (16Byte)  |  |UNIQUEIDENTIFIER  |16 Byte  |GUID\\ 例: 6F9619FF-8B86-D011-B42D-00C04FC964FF  | | .dokuwiki .plugin_wrap table { | 
| |  |十進型  |17 Byte  |-10%%^%%28-1 ~ 10%%^%%28-1 の値を格納\\ 精度: 1 ~ 28、桁: 0 ~ 精度の数値\\ 既定[精度: 18、桁 0]  |DECIMAL(p[, s] )  |5 Byte(p = 1~9)\\ 9 Byte(p = 10~19)\\ 13 Byte(p = 20~28)\\ 17 Byte(p = 29~38)  |最大有効桁数で - 10%%^%%38 +1 ~ 10%%^%%38 - 1\\ p(precision): 1~38、s(scale): 0 <= s <= p  | | width: auto; | 
| |  |  |  |  |NUMERIC(p[, s] )  |  〃  |  〃  | | } | 
| |通貨型  ||8 Byte  |通貨に使用\\ 整数部 15桁、小数部 4桁の固定小数点型\\ 計算結果が丸められることがない  |SMALLMONEY  |4 Byte  |- 214,748.3648 ~ 214,748.3647  | | </style> | 
| |  ||  |  |MONEY  |8 Byte  |-922,337,203,685,477.5808 ~\\ 922,337,203,685,477.5807  | | </html> | 
| |日付/時刻型  ||8 Byte  |日付と時刻  |SMALLDATETIME  |4(2+2) Byte  |1990 年 1 月 1 日~ 2079 年 6 月 6 日、精度: 1 分  | | ====== データ型 ====== | 
| |  ||  |  |DATETIME  |8(4+4) Byte  |1753 年 1 月 1 日~ 9999 年 12 月 31 日、精度: 3.33 ミリ秒  | |  | 
| |オートナンバー型  ||4 Byte  |レコード追加により、インクリメント値または乱数が自動的挿入される  |INT(IDENTITY プロパティ定義)  |  -  |  -  | |  | 
| |テキスト型(n)  ||2 Byte/1桁  |最大 255 文字  |VARCHAR(n %%|%% **max**)  |入力データ + 2 Byte  |n: 1 ~ 8,000、**max**: 2%%^%%31-1 (2,147,483,647) Byte  | |  | 
| |  ||  |  |NVARCHAR(n %%|%% **max**)  |入力文字数 x 2 + 2 Byte  |n: 1 ~ 4,000、**max**: 2%%^%%31-1 (2,147,483,647) Byte  | |  | 
| |メモ型  ||2 Byte/1桁  |長い文字列または数字\\ Access 97、2000、2002 では最大 64,000 文字\\ Access 2003 では最大 65,536文字  |TEXT  |入力データ Byte  |2%%^%%31-1 (2,147,483,647) 文字以内の可変長の非 Unicode データ  | |  | 
| |ハイパーリンク型  ||2 Byte/1桁  |UNC パスまたは URL パス\\ 最大 64,000 文字  |CHAR, NCHAR, VARCHAR, NVARCHAR\\ (Hyperlink プロパティ設定)  |  -  |  -  | |  | 
| |OLEオブジェクト型  ||可変  |最大 1 GB\\ Word、Excel、ピクチャ、サウンド、その他のバイナリ データなど Access のテーブルにリンクまたは埋め込み可能なオブジェクト  |IMAGE  |入力データ Byte  |0 ~ 2%%^%%31-1 (2,147,483,647) バイト以内の可変長のバイナリ データ  | |  | 
| |(対応型なし)  ||  |  |BINARY(n)  |n Byte  |n: 1 ~ 8,000、固定長のバイナリ データ  | |  | 
| |(対応型なし)  ||  |  |VARBINARY(n %%|%% **max**)  |n + 2 Byte  |n: 1 ~ 8,000、可変長のバイナリ データ  | |  | 
| |(対応型なし)  ||  |  |TIMESTAMP  |8 Byte  |一意の 2 進数を公開するデータ型  | |  | 
| |(対応型なし)  ||  |  |CHAR(n)  |n Byte  |n: 1 ~ 8,000  | |  | 
| |(対応型なし)  ||  |  |NCHAR  |n x 2 Byte  |n: 1 ~ 4,000  | |  | 
| |(対応型なし)  ||  |  |NTEXT  |入力文字数 x 2 Byte   |2%%^%%30 - 1 (1,073,741,823) 文字以内の可変長の Unicode データ  | |  | 
|  |  | 
| 参考文献:\\ | ====== SQLite データ型 ====== | 
| [[http://support.microsoft.com/kb/824263/ja|Access データベースで使用できるデータ型やフィールド プロパティに関する情報 - KB824263]]\\ | <WRAP prewrap 100% #mintbl> | 
|  | ^  SQLite3  ^^^ | 
|  | ^  データ型  ^  サイズ  ^  範囲/説明  ^ | 
|  | |NULL  | | NULL値  | | 
|  | |INTEGER  | 1, 2, 3, 4, 6, 8 Byte  | 符号付き整数  | | 
|  | |REAL  | 8 Byte  | 浮動小数点、IEEE浮動小数点  | | 
|  | |TEXT  | 可変長  | テキスト文字列 (UTF-8, UTF-16BE, UTF-16LE) で格納  | | 
|  | |BLOB  | 可変長  | blob, 入力されたとおりに格納  | | 
|  | ^  SQLite2  ^^^ | 
|  | | NUMERIC  | | 
|  | | TEXT (BLOB, CHAR, CLOB, TEXT)  | | 
|  | </WRAP> | 
|  |  | 
|  | ===== 型親和性 (Type Affinity) ===== | 
|  | <WRAP prewrap 100% #mintbl> | 
|  | <WRAP group> | 
|  | <WRAP half column> | 
|  | ^  データ型  ^  親和性型  ^ | 
|  | |INT  |INTEGER  | | 
|  | |INTEGER  |:::  | | 
|  | |TINYINT  |:::  | | 
|  | |SMALLINT  |:::  | | 
|  | |MEDIUMINT  |:::  | | 
|  | |BIGINT  |:::  | | 
|  | |UNSIGNED BIG INT  |:::  | | 
|  | |INT2  |:::  | | 
|  | |INT8  |:::  | | 
|  | </WRAP> | 
|  |  | 
|  | <WRAP half column> | 
|  | ^  データ型  ^  親和性型  ^ | 
|  | |CHARACTER(20)  |TEXT  | | 
|  | |VARCHAR(255)  |:::  | | 
|  | |VARYING CHARACTER(255)  |:::  | | 
|  | |NCHAR(55)  |:::  | | 
|  | |NATIVE CHARACTER(70)  |:::  | | 
|  | |NVARCHAR(100)  |:::  | | 
|  | |TEXT  |:::  | | 
|  | |CLOB  |:::  | | 
|  | </WRAP> | 
|  |  | 
|  | </WRAP> | 
|  |  | 
|  | <WRAP group> | 
|  | <WRAP half column> | 
|  | ^  データ型  ^  親和性型  ^ | 
|  | |BLOB  |BLOB  | | 
|  | |データ型未指定  |:::  | | 
|  | |REAL  |REAL  | | 
|  | |DOUBLE  |:::  | | 
|  | |DOUBLE PRECISION  |:::  | | 
|  | |FLOAT  |:::  | | 
|  | </WRAP> | 
|  |  | 
|  | <WRAP half column> | 
|  | ^  データ型  ^  親和性型  ^ | 
|  | |NUMERIC  |NUMERIC  | | 
|  | |DECIMAL(10,5)  |:::  | | 
|  | |BOOLEAN  |:::  | | 
|  | |DATE  |:::  | | 
|  | |DATETIME  |:::  | | 
|  | </WRAP> | 
|  | </WRAP> | 
|  |  | 
| ===== Microsoft Jet Database Engine / Access 比較 ===== | </WRAP> | 
| ^  Microsoft Jet Database Engine  ^^  Access  ^^  SQL Server  ^ |  | 
| ^  データ型  ^  サイズ  ^  データ型  ^^  データ型  ^ |  | 
| |BINARY  |1 Byte/1桁  |(対応型なし)  ||BINARY、VARBINARY  | |  | 
| |BIT  |1 Byte  |Yes/No 型   ||BIT  | |  | 
| |TINYINT  |1 Byte  |数値型  |バイト型  |TINYINT  | |  | 
| |SMALLINT  |2 Byte  |  |整数型   |SMALLINT  | |  | 
| |INTEGER  |4 Byte  |  |長整数型   |INT  | |  | 
| |REAL  |4 Byte  |  |単精度浮動小数点型   |REAL  | |  | 
| |FLOAT  |8 Byte  |  |倍精度浮動小数点型  |FLOAT  | |  | 
| |UNIQUEIDENTIFIER  |128 Bit\\ (16Byte)  |  |レプリケーションID型(GUID)  |UNIQUEIDENTIFIER  | |  | 
| |DECIMAL  |17 Byte  |  |十進型  |DECIMAL  | |  | 
| |MONEY  |8 Byte  |通貨型  ||MONEY  | |  | 
| |DATETIME  |8 Byte  |日付/時刻型  ||DATETIME   | |  | 
| |CHAR  |2 Byte/1桁  |テキスト型(n)  ||CHAR、VARCHAR、NCHAR、NVARCHAR  | |  | 
| |TEXT  |2 Byte/1桁  |メモ型  ||TEXT   | |  | 
| |  |  |ハイパーリンク型  ||CHAR、VARCHAR、NCHAR、NVARCHAR  | |  | 
| |IMAGE  |可変  |OLEオブジェクト型  ||IMAGE  | |  | 
|  |  | 
| 参考文献:\\ | [[https://www.sqlite.org/datatype3.html|Datatypes In SQLite Version 3]]\\ | 
| [[http://office.microsoft.com/ja-jp/access/HP010322481041.aspx|SQL データ型 - Access - Microsoft Office Online]]\\ | [[https://www.sqlite.org/datatypes.html|Datatypes In SQLite Version 2]]\\ | 
| [[http://office.microsoft.com/ja-jp/access/HP052745731041.aspx|Access データベースと Access プロジェクトのデータ型の違いについて - Access - Microsoft Office Online]]\\ | [[https://www.sqlite.org/datatype3.html#affinity_name_examples|Datatypes In SQLite Version 3 - Affinity Name Examples]]\\ | 
|  | [[https://stackoverrun.com/ja/q/11259568|I can't understand SQLite - Stack Overrun]]\\ | 
|  |  | 
| ====== SQL Server データ型 ====== | ====== SQL Server データ型 ====== | 
|  | <WRAP prewrap 100% #mintbl> | 
| ^  SQL Server  ^^^ | ^  SQL Server  ^^^ | 
| ^  データ型  ^  サイズ  ^  範囲/説明  ^ | ^  データ型  ^  サイズ  ^  範囲/説明  ^ | 
| |NCHAR  |n x 2 Byte  |n: 1 ~ 4,000  | | |NCHAR  |n x 2 Byte  |n: 1 ~ 4,000  | | 
| |NTEXT  |入力文字数 x 2 Byte   |2%%^%%30 - 1 (1,073,741,823) 文字以内の可変長の Unicode データ  | | |NTEXT  |入力文字数 x 2 Byte   |2%%^%%30 - 1 (1,073,741,823) 文字以内の可変長の Unicode データ  | | 
|  | </WRAP> | 
|  |  | 
| ====== Oracle データ型 ====== |  | 
| ^  Oracle   ^^ |  | 
| ^  データ型  ^  サイズ  ^ |  | 
| |VARCHAR2  | | |  |