長い文字列を短くする
evanston311 の description 列はとても長くなることがあります。length() 関数で文字列の長さを取得できます。
データを表示したりざっと確認したりする際は、先頭の数文字だけを表示したい場合があります。各値の先頭から指定した文字数を取得するには、left() 関数を使います。
さらにデータがあることを示すために、短縮した description の末尾に '...' を連結します。そのためには、文字列の長さが 50 を超えるときにだけ '...' を追加する CASE WHEN 文を使います。
description が単語の "I" で始まる場合に、description の先頭50文字を選択してください。
この演習はコースの一部です
SQLによる探索的データ分析
演習の手順
descriptionのlength()が 50 文字より大きい場合は、先頭 50 文字に'...'を末尾に連結して選択します。そうでなければ、descriptionをそのまま選択します。単語の 'I' で始まる説明文のみを選択し、文字の 'I' では始まらないものを選びます。
- たとえば、"I like using SQL!" は選択し、"In this course we use SQL!" は選択しません。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Select the first 50 chars when length is greater than 50
SELECT CASE WHEN length(___) ___ ___
THEN ___(___, ___) || ___
-- otherwise just select description
ELSE description
END
FROM evanston311
-- limit to descriptions that start with the word I
WHERE ___ LIKE ___
ORDER BY description;