misc.log

日常茶飯事とお仕事と

Oracle CHAR型のサイズ指定方法

Oracleの固定長文字列型「CHAR」ですが、サイズ指定にはバイトと文字数の両方が使えるんですね。しらんかった。テーブルの宣言時に、サイズ値の後ろに「BYTE」とつけるか「CHAR」とつけるかの違いだそうです。


詳しくはここで説明してくれてますね。

Difference between BYTE and CHAR in column datatypes(stackoverflow)
http://stackoverflow.com/questions/81448/difference-between-byte-and-char-in-column-datatypes


ここでの例はVARCHAR2が出されていますが、定義時にサイズ値に続いてCHARとつけた場合「その文字を1文字保存するのに何バイト必要だろうと、文字数で数えられる」とのこと。固定長文字列だからバイト、という固定の考え方、まずいですね、特に共通ライブラリなどを設計する際には。