
問題2:CHAR_LENGTHで文字数を取得しよう
CHAR_LENGTHを使って家計簿テーブルの詳細に書いてあるそれぞれの文字数を表示させましょう。
列名は「詳細の長さ」としましょう。
期待する画面通りに表示させてください。
列名は「詳細の長さ」としましょう。
期待する画面通りに表示させてください。
期待する画面

解答ソースコード
USE ninjacode;
SELECT 詳細, CHAR_LENGTH (詳細) AS 詳細の長さ FROM 家計簿;
¥SQL¥
補足
CHAR_LENGTH関数は文字列や数値の長さをカウントしてくれる関数です。
今回は日本語のデータになるのでCHAR_LENGTHを使用しましたが、
英語表記の場合はLENGTH関数でも取得することができます。
取得をするときは1文字あたりのバイト数でカウントします。
よって、日本語の場合は1文字あたり3バイトなので3倍の結果で表示されてしまいます。
日本語データの場合LENGTHでは正しく求められないので、CHAR_LENGTHを使いましょう。
今回は日本語のデータになるのでCHAR_LENGTHを使用しましたが、
英語表記の場合はLENGTH関数でも取得することができます。
取得をするときは1文字あたりのバイト数でカウントします。
よって、日本語の場合は1文字あたり3バイトなので3倍の結果で表示されてしまいます。
日本語データの場合LENGTHでは正しく求められないので、CHAR_LENGTHを使いましょう。
完了にする!
活動記録をTweetする
SELECT文で追加表示させるため、カラムを書く部分にCHAR_LENGTHを記述し
引数に「詳細」、カラムの表示名はASを使って「詳細の長さ」に変更しましょう。
※ASの指定がない場合は「CHAR_LENGTH (詳細)」で表示されてしまいます。