よく使う変数のデータ型に以下のようなものがあります。(他にもありますが、私が今のところよく使うのはこれだけ)
- NUMBER
- VARCHAR2
- CHAR
- DATE
- BOOLEAN
このうち精度を指定するのはNUMBER型、VARCHAR2型、CHAR型です。
DECLARE
numValue NUMBER(10);
strValue VARCHAR(10);
charValue CHAR(10);
dateValue DATE;
boolValue BOOLEAN;
BEGIN
NULL;
END;
NUMBER(10)型を設定した変数は10桁の数値が代入できます。
VARCHAR2(10)型を設定した変数は10バイトの文字列が代入できます。
CHAR(10)型を設定した変数は10バイトの文字列が代入できます。
データ型により精度を省略できるものがあります。
NUMBERは精度を指定しないと最大の38桁の数値が代入できます。
CHARは精度指定しないと1バイトの文字が代入できます。
VARCHAR2は精度を指定しないとエラーになります。NUMBER型の精度が省略できるならVARCHAR2も省略できるハズ~♪と思ったのは私だけではないと思うんだけどなぁ。
ちょっとググるとCHARの精度を省略したら最大バイトになると思っていたナカマがいたぁ ヾ(´∇`。*)ノ
ちなみにVARCHAR2とCHARに指定できる精度は32767が上限です。
【関連】
PLSQL 変数、定数
0 件のコメント:
コメントを投稿