文字変数の欠損値をブランクとしてOracleテーブルに挿入する方法

[OS] ALL
[リリース] ALL
[キーワード] ACCESS, ORACLE, CHARACTER, BLANK, SPACE, NULLCHAR

[質問]

SASデータセットのオブザベーションを既存のOracleテーブルに挿入すると、文字変数の欠損値はOracleテーブル上ではNULLとなります。
NULLではなくブランクを挿入するにはどのようにすればよいでしょうか。

[回答]

文字変数の欠損値をブランクとしてOracleテーブルに挿入するには、データセットオプションの「NULLCHAR=NO」を指定します。

次のプログラム例では、SAS/ACCESS Interface to OracleのLIBNAMEステートメントを使用してOracleデータベースに接続し、SASデータセットWORK.TRNSのオブザベーションをテーブルMSTRに挿入します。WORK.TRNS内の文字変数の欠損値は、ブランク1文字として挿入されます。


LIBNAME oralib ORACLE USER=scott PASSWORD=tiger PATH=ora817 ; 

PROC SQL ;
  INSERT INTO oralib.mstr(NULLCHAR=NO) ;
  SELECT * FROM work.trns ;
QUIT;