MySQLのSMALLINTに相当するJavaの型は?short型との対応関係を解説
MySQLのSMALLINTに相当するJavaのデータ型は、short型です。Javaのshort型は2バイト(16ビット)の符号付き整数で、-32768から32767までの範囲の値を扱うことができます。MySQLのSMALLINTも同様に2バイトで、同じ範囲の値を格納可能です。
MySQLのSMALLINTとJavaのshort型の比較
| 項目 | MySQL(SMALLINT) | Java(short) |
|---|---|---|
| サイズ | 2バイト(16ビット) | 2バイト(16ビット) |
| 値の範囲 | -32768 ~ 32767 | -32768 ~ 32767 |
| 備考 | UNSIGNEDを指定すると0 ~ 65535になる | 符号付きのみ |
なお、MySQLでUNSIGNEDのSMALLINTを使用した場合、0 ~ 65535の範囲となるため、Javaのshort型では表現できず、int型での扱いが必要になる点に注意しましょう。
Javaにおけるshort型のサンプルコード
以下は、Javaでshort型を使用したデモコードです。
public class SmallIntAsShortDemo {
public static void main(String[] args) {
short value = 32767;
System.out.println(value);
value = -32768;
System.out.println(value);
// value = 32768; // 範囲外のためコンパイルエラー
// System.out.println(value);
}
}このコードでは、short型が扱える最大値の「32767」と最小値の「-32768」を変数に代入して表示しています。コメントアウトしている部分のように、範囲を超える「32768」を代入しようとするとコンパイルエラーが発生します。
実行結果
32767 -32768
Eclipse IDEで実行すると、上記の出力が得られます。
まとめ
Javaのshort型とMySQLのSMALLINTは、どちらも2バイトで-32768 ~ 32767の範囲を持つため、そのまま対応させて扱うことができます。JDBCなどでデータベースと連携する際には、SMALLINT型のカラムの値をResultSetのgetShort()メソッドでshort型として取得するのが一般的です。
-
MySQLにおけるJavaのlong型に相当するデータ型は何?BIGINTとの対応を解説
MySQLにおけるJavaのlong型に相当する型は「BIGINT」MySQLの変数(カラム)のコンテキストにおいて、Javaのlong型に相当するデータ型はBIGINTです。Javaのlong型は8バイトのサイズを持ちますが、MySQLのBIGINTもまったく同じく8バイトを使用します。そのため、Javaのlong型で扱える値は、範囲を超えることなくそのままBIGINTカラムに格納することが可能です。Javaのlong型のデモ以下は、Javaのlong型が扱える最大の正の値を出力するサンプルコードです。public class JavaLongDemo { public static
-
MySQLのUNHEX()に相当するPHP関数とは?hex2bin()の使い方を解説
PHPにおけるMySQLのUNHEX()相当の関数MySQLのUNHEX()関数と同じ処理をPHPで行いたい場合は、hex2bin()関数を使用します。この関数は、16進数形式の文字列をバイナリデータ(元の文字列)に変換するもので、まさにMySQLのUNHEX()に相当する機能を持っています。hex2bin()の基本構文構文は以下の通りです。$anyVariableName = hex2bin(yourHexadecimalValue);引数には16進数の文字列を指定し、戻り値として変換後のバイナリデータが返されます。PHPでの実装例実際にhex2bin()を使用したサンプルコードを見てみまし