データ型

この考え方は、後々の使いやすさを大きく左右しそうな気がしますね。
適切なデータ容量に抑えられるか、計算・検索が容易であるかとか…?
一章までに出てきたデータ型のみメモします。

数値型

計算の対象になりそうなデータは、数値型を使うのでしょうか。

  • INT ... INTEGER

整数であれば、負の数でも扱えます。

  • DEC ... DECIMAL

小数点以下を含んだ表現をする数値が適しています。
DEC(10,6)とした場合、小数点未満を6桁、合計上限10桁を意味します。

文字列型

計算対象でなければ、数値でも文字列型でいいと思います。
格納・取得する際に空白がどう扱われるかも違ったりするようです。

  • CHAR ... CHARACTER 固定長文字列

CAHR(7)のように数値を入れて、文字数を指定します。0から255までの文字数を指定できます。

  • VARCHAR ... CHARACTER VARYING 可変長文字列

こちらでは、カッコでバイト数を指定します。0から65535バイトまで可能です。

  • BLOB

最大65535バイトまでの、大量の文字、音声、画像を格納できます。

日付・時刻型
  • DATE

YYYY-MM-DDという形で、日付を格納します。

  • TIME

HH:MM:SSという形で、時間を格納します。

  • DATETIME/TIMESTAMP

両者とも、YYYY-MM-DD HH:MM:SSという形式で格納します。
ただし年については、前者が1000から9999まで対応しているのに対し、後者は1970から2037までです。
そして、後者は命令文実行時の日付時間データを自動的に格納してくれるようです。


似たような文字型があったり、しかし微妙に特徴が違ったりしますね。

参考にさせていただきました。