質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

2回答

1302閲覧

SQLにおける型と長さの関係 char int

earnest_gay

総合スコア615

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2016/06/01 09:35

SQLにおける型と長さの関係について質問させてください。

例えばchar型のカラムを用意し長さを2にしたとします。
char(2)

ここに

"男性"

と入れることはできますが、

"男性かも"

と入れることはできなかったので、同じ要領で

int型のカラムを用意し長さを2にしました。
int(2)

このカラムに16と入れるとデータ格納できましたが
charの時と同じで2桁以上の数字は入らないだろうと思い

166

を入力してみるとデータ格納されてしまいました。

これは何故でしょうか?
そもそも文字と数字の型では長さの使い方が違うと考えられるのですが
解説頂けるとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

エスパー回答します。
今使っているデータベースはMySQLですね?

MySQLの仕様として、INT(4)等の右側の数字はselect文の結果を受け取る際の結果画面の横幅という超微妙な箇所にしか反映されません。
例外としてTINYINT(1)はbooleanになります。

ドキュメントに明記されているはずなので良かったら探してみてください。

投稿2016/06/01 09:40

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

earnest_gay

2016/06/09 13:06

解説ありがとうございます!
guest

0

私もmiyabi-sunさんの書き込みをみて初めて意味を知りました。(ありがとうございます)
解りやすく書いてくれてるサイトがあったのでペタペタ

このオプションの表示幅の指定は、カラムに指定された幅より小さい幅を持つ値で表示の左側を埋める目的で使用されますが、そのカラムに格納できる値の範囲が制限されたり、そのカラムに指定された幅を超える幅を持つ値の桁数が制限されたりすることはありません。オプションの拡張属性 ZEROFILL と組み合せて使用した場合、デフォルトのスペースに代わってゼロが埋め込まれます。

■■■
けっこう勘違いしている人がいそうなのですが、mysqlの型でint(?)とか、?に数字を入れますが、この数字は上記の通りZEROFILLをした際にスペースに代わってゼロが埋め込まれる際の幅なのです。

投稿2016/06/01 10:03

編集2016/06/01 10:05
hirohiro

総合スコア2068

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

earnest_gay

2016/06/09 13:07

参考URLまでありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問