QUESTION(SQ1005095)
半角カナを含んでいるデータのINSERTが失敗します。
『半角カナ』のデータをINSERT(またはUPDATE)しようとすると、同じ文字数の『英数字』ではエラーが発生しないのに、 SQLCODE:-638
「文字列データの右側がトランケートされます。」(カラムに対する文字列が長すぎる)というエラーが発生して失敗します。
例:CHAR(10)のカラムに、次のデータをINSERTすると、(1)は成功するが、(2)はエラーで失敗します。 (1)ABCDEFGHIJ (2)アイウエオカキクケコ
|
ANSWER
データベースの照合順にUTF8(またはUTF8BIN)を使用されている場合、正常な結果です。 UTF8では半角カナ1文字を3バイトで表現する為、10文字(SJISでは10バイト)の半角カナのデータを保存するには、CHAR(30)のカラムが必要となります。 |