重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

数値タイプ

TiDBは、以下を含むすべてのMySQL数値タイプをサポートします。

整数型

TINYINTは、 INTEGER / INT 、およびSMALLINTを含むすべてのMySQL整数型をBIGINTMEDIUMINT 。詳細については、 MySQLの整数データ型構文を参照してください。

次の表は、フィールドの説明をまとめたものです。

構文要素説明
Mタイプの表示幅。オプション。
署名なし署名なし。省略した場合はSIGNEDです。
ゼロフィル数値列にZEROFILLを指定すると、TiDBは自動的にUNSIGNED属性を列に追加します。

次の表は、TiDBでサポートされている整数型に必要なストレージと範囲をまとめたものです。

データ・タイプ必要なストレージ(バイト)最小値(符号付き/符号なし)最大値(符号付き/符号なし)
TINYINT1-128/0127/255
SMALLINT2-32768/032767/65535
MEDIUMINT3-8388608 / 08388607/16777215
INT4-2147483648/02147483647/4294967295
BIGINT8-9223372036854775808/09223372036854775807/18446744073709551615

BITタイプ

BITデータ型。 BIT(M)のタイプにより、Mビット値の格納が可能になります。 Mの範囲は1〜64で、デフォルト値は1です。

BIT[(M)]

BOOLEAN

BOOLEANタイプとそのエイリアスBOOLTINYINT(1)と同等です。値が0の場合、 Falseと見なされます。それ以外の場合は、 Trueと見なされます。 MySQLと同様に、 True1False 0

BOOLEAN

TINYINTタイプ

TINYINTデータ型は、範囲[-128、127]の符号付き値と範囲[0、255]の符号なし値を格納します。

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

SMALLINTタイプ

SMALLINTデータ型は、範囲[-32768、32767]の符号付きの値と、範囲[0、65535]の符号なしの値を格納します。

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

MEDIUMINTタイプ

MEDIUMINTデータ型は、範囲[-8388608、8388607]の符号付きの値と、範囲[0、16777215]の符号なしの値を格納します。

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

INTEGERタイプ

INTEGERタイプとそのエイリアスINTは、範囲[-2147483648、2147483647]の符号付きの値と、範囲[0、4294967295]の符号なしの値を格納します。

INT[(M)] [UNSIGNED] [ZEROFILL]

別のフォームを使用することもできます。

INTEGER[(M)] [UNSIGNED] [ZEROFILL]

BIGINTタイプ

BIGINTデータ型は、範囲[-9223372036854775808、9223372036854775807]の符号付き値と、範囲[0、18446744073709551615]の符号なし値を格納します。

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

浮動小数点型

TiDBは、 FLOATDOUBLEを含むすべてのMySQL浮動小数点型をサポートします。詳細については、 浮動小数点型(概算値)-MySQLのFLOAT、DOUBLEを参照してください。

次の表は、フィールドの説明をまとめたものです。

構文要素説明
M総桁数
D小数点以下の桁数
署名なし署名なし。省略した場合はSIGNEDです。
ゼロフィル数値列にZEROFILLを指定すると、TiDBは自動的にUNSIGNED属性を列に追加します。

次の表は、TiDBでサポートされている浮動小数点型に必要なストレージをまとめたものです。

データ・タイプ必要なストレージ(バイト)
FLOAT4
FLOAT(p)0 <= p <= 24の場合、4です。 25 <= p <= 53の場合、8です。
DOUBLE8

FLOATタイプ

FLOATタイプは、単精度浮動小数点数を格納します。許容値は、-3.402823466E + 38〜-1.175494351E-38、0、および1.175494351E-38〜3.402823466E+38です。これらは、IEEE標準に基づく理論上の制限です。実際の範囲は、ハードウェアまたはオペレーティングシステムによってはわずかに小さい場合があります。

FLOAT(p)は、必要な精度をビットで表すために使用できます。 TiDBはこの値を使用して、結果のデータ型にFLOATDOUBLEのどちらを使用するかを決定します。 pが0から24の場合、データ型はMまたはD値のないFLOATになります。 pが25〜53の場合、データ型はDOUBLEになり、M値またはD値はありません。結果の列の範囲は、単精度FLOATまたは倍精度DOUBLEのデータ型の場合と同じです。

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
FLOAT(p) [UNSIGNED] [ZEROFILL]

ノート:

MySQLと同様に、 FLOATデータ型は概算値を格納します。通貨などの値については、代わりにDECIMALタイプを使用することをお勧めします。

TiDBでは、 FLOATデータ型のデフォルトの精度は8桁ですが、MySQLではデフォルトの精度は6桁です。たとえば、TiDBとMySQLの両方でFLOATタイプの列に1234567891.23456789を挿入すると、MySQLで対応する値をクエリすると、 1234570001.23457が得られますが、TiDBでは1234567901.2345679が得られます。

DOUBLEタイプ

DOUBLE型とそのエイリアスDOUBLE PRECISIONは、倍精度浮動小数点数を格納します。許容値は、-1.7976931348623157E + 308〜-2.2250738585072014E-308、0、および2.2250738585072014E-308〜1.7976931348623157E+308です。これらは、IEEE標準に基づく理論上の制限です。実際の範囲は、ハードウェアまたはオペレーティングシステムによってはわずかに小さい場合があります。

DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
DOUBLE PRECISION [(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED] [ZEROFILL]
警告

MySQLと同様に、 DOUBLEデータ型は概算値を格納します。通貨などの値については、代わりにDECIMALタイプを使用することをお勧めします。

固定小数点タイプ

TiDBは、DECIMALやNUMERICを含むすべてのMySQL浮動小数点型をサポートしています。詳細については、 固定小数点タイプ(正確な値)-MySQLのDECIMAL、NUMERIC

フィールドの意味:

構文要素説明
M10進数の総数
D小数点以下の桁数
署名なし署名なし。省略した場合はSIGNEDです。
ゼロフィル数値列にZEROFILLを指定すると、TiDBは自動的にUNSIGNED属性を列に追加します。

DECIMALタイプ

DECIMALとそのエイリアスNUMERICは、パックされた「正確な」固定小数点数を格納します。 Mは小数点以下の合計桁数(精度)、Dは小数点以下の桁数(目盛り)です。小数点と(負の数の場合)-記号はMではカウントされません。Dが0の場合、値には小数点または小数部がありません。 DECIMALの最大桁数(M)は65です。サポートされる小数点以下の最大数(D)は30です。Dを省略すると、デフォルトは0になります。Mを省略すると、デフォルトは10になります。

DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]