長さの異なる「元」ストリングと「宛先」ストリング

文字の列 (CHAR、VARCHAR) に関しては、以下を条件として、 長さの異なる ストリングと 宛先 ストリング (from_string および to_string) を 指定できます。

  • 固定長文字列で、宛先 ストリング (to_string) が ストリング (from_string) より短いと、FM/Db2 は変更を実行して、列にスペースを埋め込みます。宛先 ストリング (to_string) が ストリング (from_string) より長いと、FM/Db2 は、列中に変更を収容できる十分な未使用文字がある場合にのみ変更を適用します。
    例えば、特定の行で、列 #2 は固定長の、GEORGE   (末尾の 2 スペースとも) を含む長さが 8 の文字列であるとします。
    CHANGE GEORGE FRED #2
    その行で GEORGE   (末尾の 2 スペースとも) を FRED     (末尾の 4 スペースとも) に変更します。
    CHANGE GEORGE WILLIAM #2
    その行で GEORGE   (末尾の 2 スペースとも) を WILLIAM  (末尾の 1 スペースとも) に変更します。
    CHANGE GEORGE ALEXANDER #2
    列中に変更を収容できる十分な未使用文字がないので、FM/Db2 はその行に対して変更を実行しません。
  • 可変長文字列で、宛先 ストリング (to_string) が ストリング (from_string) より短いと、FM/Db2 は変更を実行し、to_stringfrom_string の間の長さの差分だけ列の長さを下方調整します。宛先 ストリング (to_string) が ストリング (from_string) より長いと、FM/Db2 は、列中に変更を収容できる十分な未使用文字がある場合にのみ変更を適用します。この場合には、FM/Db2from_stringto_string の間の長さの差分だけ列の長さを上方調整します。