問題
2CHAR_LENGTHで文字数を取得しよう
ここからは関数についての問題を出題していきます。 関数は、名前(関数名)、引数(引き渡す情報)、戻り値(結果として得られる情報)の3つが定められています。 関数を使用する際は、この3つの事柄を確認することが重要です。
SQLの問題に挑戦しよう!
問題
「CHAR_LENGTHで文字数を取得しよう」
CHAR_LENGTHを使って家計簿テーブルの詳細に書いてあるそれぞれの文字数を表示させましょう。
列名は「詳細の長さ」としましょう。
期待する画面通りに表示させてください。
期待する画面
解答と解説(CHAR_LENGTHで文字数を取得しよう)
解説
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
CHAR_LENGTHで文字数をカウントするには引数にカウントしたいカラム名を書いて使用します。
SELECT文で追加表示させるため、カラムを書く部分にCHAR_LENGTHを記述し
引数に「詳細」、カラムの表示名はASを使って「詳細の長さ」に変更しましょう。
※ASの指定がない場合は「CHAR_LENGTH (詳細)」で表示されてしまいます。
補足
CHAR_LENGTH関数は文字列や数値の長さをカウントしてくれる関数です。
今回は日本語のデータになるのでCHAR_LENGTHを使用しましたが、
英語表記の場合はLENGTH関数でも取得することができます。
取得をするときは1文字あたりのバイト数でカウントします。
よって、日本語の場合は1文字あたり3バイトなので3倍の結果で表示されてしまいます。
日本語データの場合LENGTHでは正しく求められないので、CHAR_LENGTHを使いましょう。