###はじめに
個人的な確認です。何かあればお願いします。
###文字列型の注意点
- データ型が異なればデータの格納方法が異なる
- NULL値はゼロでも空白文字でもない特殊な値である
- カラムの最大長を超える値を割り当てると、カラムのサイズに合わせて値が切り捨てられる
###MySQL
MySQL :: MySQL 5.6 Reference Manual :: 11.4.1 The CHAR and VARCHAR Types
#####CHAR型
- 固定長のデータ型
- あらかじめ指定した文字数の領域を固定的に確保する
- 値の格納時に、指定された長さになるよう右側にスペースが埋め込まれる
#####VARCHAR型
- 可変長のデータ型
- 文字列を格納するのに必要な文字数分の領域しか確保しない
- 値の格納時に、埋め込み処理が行われない
###SQL Server
#####CHAR型
- Unicode ではない固定長の文字列データ
- 指定できる値の範囲は 1 ~ 8,000
- 記憶領域のサイズは n バイト
- 値の格納時に、指定された長さになるよう右側にスペースが埋め込まれる
#####VARCHAR型
- Unicode ではない可変長の文字列データ
- 指定できる値の範囲は 1 ~ 8,000
- 記憶領域のサイズは 入力したデータの実際の長さ + 2 バイト
- 値の格納時に、埋め込み処理が行われない
#####NCHAR型
- 固定長の Unicode 文字列データ
- 指定できる値の範囲は 1 ~ 4,000
- 記憶領域のサイズは n の 2 倍のバイト数
#####NVARCHAR型
- 可変長の Unicode 文字列データ
- 指定できる値の範囲は 1 ~ 4,000
- 記憶領域のサイズは入力したデータの実際の長さの 2 倍のバイト数に 2 バイトを足した数