質問: SQLにおける型と長さの関係について質問させてください。 例えばchar型のカラムを用意し長さを2にしたとします。 char(2) ここに "男性" と入れることはできますが、 "男性かも" と入れることはできなかったので、同じ要領で int型のカラムを用意し長さを2にしました。 int(2) このカラムに16と入れるとデータ格納できましたが charの時と同じで2桁以上の数字は入らないだろうと思い 166 を入力してみるとデータ格納されてしまいました。 これは何故でしょうか? そもそも文字と数字の型では長さの使い方が違うと考えられるのですが 解説頂けるとありがたいです。
回答: 私もmiyabi-sunさんの書き込みをみて初めて意味を知りました。(ありがとうございます) 解りやすく書いてくれてるサイトがあったのでペタペタ > > このオプションの表示幅の指定は、カラムに指定された幅より小さい幅を持つ値で表示の左側を埋める目的で使用されますが、そのカラムに格納できる値の範囲が制限されたり、そのカラムに指定された幅を超える幅を持つ値の桁数が制限されたりすることはありません。オプションの拡張属性 ZEROFILL と組み合せて使用した場合、デフォルトのスペースに代わってゼロが埋め込まれます。 > > ■■■ > > けっこう勘違いしている人がいそうなのですが、mysqlの型でint(?)とか、?に数字を入れますが、この数字は上記の通りZEROFILLをした際にスペースに代わってゼロが埋め込まれる際の幅なのです。 > > >