本文へスキップ
BecomeCoder

SQL データ操作 (DML)コース · 第6章 式と関数で加工する · レッスン25

文字列関数 ― 文字を切り出す・つなぐ

ブラウザで完結

導入

「名前の文字数を数えたい」「2つの列をつないで1つの表示にしたい」「一部だけ切り出したい」。文字列を加工する道具が、SQL には一通りそろっています。よく使うものを、実際に動かしながら覚えましょう。

説明

代表的な文字列関数です(SQLite の場合)。

関数意味例 → 結果
length(s)文字数length('マウス') → 3
upper(s) / lower(s)大文字/小文字化(英字)upper('shipped')SHIPPED
substr(s, 開始, 長さ)部分文字列(1始まり)substr('2026-01-05', 1, 4)2026
replace(s, 前, 後)置換replace('A-B', '-', '/')A/B
`ab`

||(縦棒2つ)は文字列の連結です。列と固定文字を混ぜて、表示用の1列を作れます。

SELECT '商品「' || name || '」は' || price || '円' AS 説明 FROM products;

数値の price も、|| の中では自動的に文字へ変換されてつながります。文字数を数える length や、一部を取り出す substr は、コードや日付文字列の一部を扱うときに重宝します。

やってみよう

初期表示のクエリを実行し、ordersstatus が大文字になった列や文字数の列を確認しましょう。次に SELECT '商品「' || name || '」は' || price || '円' AS 説明 FROM products; を実行して、複数の値が1つの文になることを見てください。

演習

users から、namecity を「(都市)名前」の形につないだ列を label という別名で取り出してください。たとえば佐藤さんなら (東京)佐藤 となります。

ヒント1を見る

連結は ||。固定文字はシングルクオートで囲みます。'(' || city || ')' || name

ヒント2を見る

SELECT '(' || city || ')' || name AS label FROM users;

実際に動かしてみよう

下のエディタにクエリを書いて「実行」を押すと、ブラウザ内のSQLiteで結果が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう。

SQL — ブラウザ内で実行(SQLite)

ブラウザ内でSQLを動かす環境(SQLite)を読み込みます(初回のみ一瞬)。
スクロールして表示された時点でも自動で読み込まれます。