【2026年8月最新】SQLの文字列操作(SUBSTRING/LEFT/RIGHT)完全ガイド|顧客データ加工の基本と非エンジニアがAIに任せる境界線
この記事の内容
「顧客データベースの電話番号から市外局番だけを抜き出したい」「登録日の文字列から年だけを取り出して集計したい」——こうした作業の裏側で使われているのが、SQLの文字列操作関数(SUBSTRING・LEFT・RIGHT)です。地味な機能に見えて、実は多くの業務システムの根幹を支えています。
この記事では、データベースを扱う際に頻出するこの3つの関数を非エンジニア向けにやさしく解説したうえで、「自分でSQLを覚えるべきか、AIに任せるべきか」という境界線を、GENAIの実運用データを交えて解説します。特に、データベースという「会社の資産そのもの」を扱う操作だからこそ、安全に任せるための設計についても掘り下げます。
この記事はプログラミング未経験の方を主な対象としています。専門用語は都度解説を挟みながら進めるので、SQLという言葉を初めて聞いた方でも、最後まで読めば「顧客データの加工がどういう仕組みで行われているか」の全体像がつかめるはずです。
この記事を最後まで読むと、次の5つが明確になります。
01 WHY IT MATTERS なぜ経営者がSQL文字列操作を知っておくべきか 顧客データベースの現場で最も頻出する処理の一つ
SQLは、データベース(顧客リスト・注文履歴・在庫情報など、業務データを保管する仕組み)に対して、データの取得・加工・更新を指示するための言語です。文字列操作関数は、その中でも「保存されている文字データの一部だけを取り出す・整形する」ための機能群です。
多くの経営者にとって、SQLは「エンジニアだけが触るもの」というイメージが強いかもしれません。しかし実際には、社内で使っている会計ソフト・CRM(顧客管理システム)・ECサイトの管理画面など、多くの業務システムの裏側で日常的にSQLが動いています。直接コードを書く機会がなくても、その仕組みの一端を知っておくことは、システムを発注・運用する立場の人間にとって決して無駄になりません。
📚 用語解説
SQL(Structured Query Language):データベースに対して、データの検索・追加・更新・削除を指示するための言語。多くの業務システム(顧客管理・在庫管理・会計システムなど)の裏側で、このSQLがデータのやり取りを担っています。世界的に広く使われている標準的な技術で、特定のメーカーに依存しない汎用性の高さが特徴です。
📚 用語解説
データベース:大量のデータを整理して保存し、必要な時に検索・加工できるようにする仕組み。Excelの表がイメージに近いですが、データベースはより大量・高速・多人数同時アクセスに対応した「業務用の保管庫」と考えると分かりやすいです。複数人が同時にアクセスしてもデータの整合性が保たれるよう設計されている点も、Excelファイルとの大きな違いです。
経営者や管理職が自分でSQLを書く機会は多くないかもしれませんが、次のような場面では、この知識が役立ちます。逆に、この知識を一切持たないまま外部委託やAI活用を進めると、依頼内容の的確さやアウトプットの検証精度に差が出てしまいます。
SQLの構文を暗記する必要はありません。「文字列の一部を切り出す」という考え方と、それがどんな業務に使われるかの全体像を掴んでください。
02 SUBSTRING SUBSTRING関数の書き方と開始位置の注意点 「何文字目から、何文字分」を指定して切り出す
SUBSTRING関数は、文字列の中から「何文字目から」「何文字分」を指定して、一部分だけを取り出す関数です。基本の書き方は次の通りです。文字列の途中の任意の範囲を柔軟に切り出せる点が、後述するLEFT・RIGHT関数にはない特徴です。
| 引数の位置 | 意味 | 具体例 |
|---|---|---|
| 第1引数 | 対象となる文字列(またはその列) | 電話番号の列 |
| 第2引数 | 切り出しを開始する位置 | 1文字目から始めるなら「1」 |
| 第3引数 | 切り出す文字数 | 3文字分なら「3」 |
これがSQLのSUBSTRING関数で最も間違えやすいポイントです。多くのプログラミング言語(PythonやJavaScriptなど)では文字の位置を0文字目から数えますが、SQLのSUBSTRING関数では1文字目から数えます。「先頭の文字を取得したいから0を指定する」と誤って書いてしまうと、意図と違う結果(環境によってはエラーや空の結果)になるため注意が必要です。
📚 用語解説
引数(ひきすう):関数に渡す「材料」となる値。SUBSTRING関数であれば「対象の文字列」「開始位置」「文字数」の3つが引数にあたります。関数は、渡された引数をもとに処理を行い、結果を返します。
2-1. 「SUBSTRING関数がない環境」も存在する
SQLにはいくつかの種類(方言)があり、データベースの種類によって使える関数や書き方に細かな違いがあります。SUBSTRING関数はほとんどの主要なデータベースで利用できますが、一部の環境では関数名や引数の順序が異なる場合があります。実務では、使用しているデータベースの種類(MySQL・PostgreSQL・SQL Serverなど)に応じた正しい構文を確認することが重要です。
どのデータベースを使っているかさえ伝えれば、AIはそのデータベースに合った正しい構文でSQLを組み立ててくれます。方言の違いを人間が逐一暗記する必要性は下がっています。
03 LEFT & RIGHT LEFT関数・RIGHT関数:端から切り出すシンプルな方法 開始位置の指定が不要な分、直感的に使える
LEFT関数・RIGHT関数は、SUBSTRING関数よりもシンプルな書き方で、文字列の左端・右端から指定した文字数だけを切り出します。実務での登場頻度はSUBSTRING関数よりも高く、多くの現場でまず最初に覚えられる文字列操作関数です。
| 関数 | 切り出す方向 | 書き方の例 | 用途例 |
|---|---|---|---|
| LEFT | 左(先頭)から | LEFT(文字列, 3) | 郵便番号の上3桁を取得 |
| RIGHT | 右(末尾)から | RIGHT(文字列, 4) | 電話番号の下4桁を取得 |
SUBSTRING関数と違い、LEFT・RIGHT関数には「開始位置」の指定が不要です。「先頭から何文字」「末尾から何文字」というシンプルな切り出しであれば、LEFT・RIGHTの方が直感的で書き間違いも起きにくいため、実務ではこちらが選ばれる場面が多くあります。
3-1. 3つの関数の使い分け早見表
| やりたいこと | おすすめの関数 |
|---|---|
| 文字列の先頭から一定文字数を取得したい | LEFT |
| 文字列の末尾から一定文字数を取得したい | RIGHT |
| 文字列の途中(特定の位置)から一定文字数を取得したい | SUBSTRING |
| どれを使えばいいか分からない | AIに状況を説明して選んでもらう |
04 PRACTICAL USE 実務での活用例:顧客データベースの加工 「バラバラなデータ」を「使える形」に整える
文字列操作関数の実務での使いどころは、主に「バラバラな形式で入力されたデータを、統一された形式に整える」場面です。
| 業務シーン | 使う関数 | 目的 |
|---|---|---|
| 電話番号から市外局番だけを抽出したい | LEFT | 地域別の顧客分析に使う |
| 電話番号の下4桁だけを抽出したい | RIGHT | 個人情報を一部マスキングして表示する |
| 登録日の文字列(例: 20260801)から年だけ抜き出したい | LEFT | 年別の登録者数を集計する |
| 商品コードの中間部分(カテゴリコード)だけ抜き出したい | SUBSTRING | カテゴリ別の売上集計に使う |
| メールアドレスからドメイン部分を抜き出したい | SUBSTRING(応用) | 法人メール・フリーメールの判別に使う |
4-1. なぜ「データの形式を整える」ことが重要なのか
顧客データベースには、入力者や入力時期によって形式がバラバラなデータが混在しがちです。例えば、電話番号一つとっても「03-1234-5678」「0312345678」「03(1234)5678」のように、複数の形式が混在するケースは珍しくありません。こうした不揃いなデータのままでは、正確な集計・分析ができません。文字列操作関数は、この「不揃いを整える」作業の中核を担っています。
この「不揃いを整える」作業は、専門用語でデータクレンジングと呼ばれます。長年運用している顧客データベースほど、入力ルールが徹底されていなかった時期のデータが混在しており、クレンジングの必要性は年数を重ねるごとに高まっていく傾向があります。
特に、複数の担当者が長期間にわたって手入力を続けてきたデータベースでは、入力者ごとの癖(全角・半角の使い分け、ハイフンの有無、スペースの入れ方など)が蓄積し、想像以上に多様な表記ゆれが発生しています。これを人力で1件ずつ確認・修正することは非現実的であり、文字列操作関数を使った一括処理が現実的な解決策になります。
4-3. メールアドレスのドメイン抽出という応用例
もう一つ実務でよく使われる例として、メールアドレスからドメイン部分(@より後ろの部分)を抽出し、法人メールかフリーメールかを判別するという用途があります。「@gmail.com」「@yahoo.co.jp」のような一般的なフリーメールドメインのリストと突き合わせることで、法人としての本気度が高い見込み客を絞り込む、といった営業活動への応用も可能です。
この処理は、「@」の位置をCHARINDEX(データベースによってはPOSITIONやINSTR)などの検索関数で特定し、その結果をもとにSUBSTRING関数で切り出すという組み合わせで実現します。「@」の位置は顧客ごとに異なるため、固定の数値では指定できず、「@」を検索して見つかった位置を基準に切り出すという、検索系の関数とSUBSTRING関数を組み合わせる応用パターンになります。
こうした応用パターンになると、複数の関数を正しい順序で組み合わせる必要があり、人力での構文作成の難易度は一気に上がります。まさにこの複雑さこそが、AIに任せることで恩恵を最も受けやすい領域だと言えます。「メールアドレスからドメインを取り出して、フリーメールかどうか判定して」と伝えるだけで、複数関数の組み合わせをAIが自動的に構築してくれます。
📚 用語解説
データクレンジング:不揃い・重複・誤りのあるデータを、正しく統一された形式に整える作業の総称。文字列操作関数による書式の統一は、データクレンジングの代表的な手法の一つです。データ分析の精度は、このクレンジングの質に大きく左右されます。
4-2. データクレンジングを後回しにするコスト
データクレンジングは地味な作業のため、後回しにされがちです。しかし、不揃いなデータのまま集計・分析を進めると、「本当は同じ顧客なのに別人として扱われる」「地域別集計が実際の数値とズレる」といった問題が発生し、経営判断の精度そのものに悪影響を及ぼします。
データベースの値を直接UPDATEで書き換える操作は、rmコマンドによるファイル削除と同様に不可逆な操作です。加工前の状態を別テーブルやファイルにバックアップしてから作業することを強く推奨します。
05 SELF VS AI 【比較】SQLを自分で書く vs AIに指示して書かせる 「正確な構文」より「正しい意図の伝達」が本質
SQLの文字列操作を、自分で学んで書く場合と、AIに指示して書かせる場合を比較してみます。この比較は、SQLに限らずプログラミング全般に共通する構図でもあります。
| 項目 | 自分でSQLを書く | AI(Claude Codeなど)に指示する |
|---|---|---|
| 習得にかかる時間 | 基本構文の習得だけで数週間〜数ヶ月 | ほぼ不要(日本語で意図を伝えるだけ) |
| 方言(データベースごとの違い)への対応 | 使用するデータベースごとに個別学習が必要 | データベースの種類を伝えるだけで自動対応 |
| ミスの発生しやすさ | 開始位置のズレなど、構文レベルのミスが起きやすい | 構文ミスはほぼ発生しない(意図の伝達ミスは起こりうる) |
| 複雑な条件の組み合わせ | 複数関数の組み合わせに習熟が必要 | 複雑な条件でも日本語の説明から組み立て可能 |
ここで重要なのは、「SQLの構文を書けること」自体の価値が、AI時代には相対的に下がっているという点です。一方で「どんなデータをどう加工したいか」を正確に言語化する能力の価値は、むしろ上がっています。AIへの指示が曖昧だと、期待と違う加工結果が返ってくるため、この「意図の言語化」こそが、非エンジニアが磨くべきスキルだと言えます。
5-1. 「曖昧な指示」と「明確な指示」の具体例
AIへの指示の質によって、返ってくる結果の精度がどう変わるかを具体例で見てみます。
| 指示の質 | 指示の例 | 結果への影響 |
|---|---|---|
| 曖昧な指示 | 「電話番号を整理して」 | 何をどう整理するかAIが推測することになり、意図とズレる可能性がある |
| 明確な指示 | 「電話番号からハイフンを除去し、市外局番(先頭2〜4桁)を別列に分けて」 | 意図通りの結果が高い精度で得られる |
この違いは、AIに限らず人間の部下やパートナー企業に依頼する場合にも共通する原則です。「何を、どこまで、どういう基準で」を具体的に伝えることが、依頼の精度を左右する最大の要因であることに変わりはありません。AIが登場したことで、この「指示の明確さ」の重要性はむしろ際立つようになったとも言えます。
「こういうデータを、こう変えたい」という変換前と変換後の具体例を1〜2件示すだけで、AIは意図を正確に汲み取りやすくなります。言葉で説明するより、具体例を見せる方が誤解の余地が少なくなります。
5-2. 過去に習得したSQL知識が無駄になるわけではない
「AIに任せられるなら、SQLを勉強する意味はないのか」と感じる方もいるかもしれません。しかし、SQLの基本的な考え方(データを条件で絞り込む、必要な部分だけ取り出す、といった発想)を知っていることは、AIへの指示の質を高めるうえでも役立ちます。この記事で紹介したような基礎知識は、暗記して手を動かすためではなく、AIとの対話を的確にするための土台として活用するのが、これからの時代に合った学び方だと言えるでしょう。
06 GENAI CASE STUDY 【独自データ】GENAIの顧客データ加工の実態 Max 20xプラン契約会社が、データ整形をどう扱っているか
弊社(株式会社GENAI)ではClaude Max 20xプラン(月額$200・約30,000円)を契約し、営業・広告・経理・秘書業務まで幅広くClaude Codeを活用しています。ここでは、顧客データの加工・分析業務にどうAIを活用しているかを紹介します。
加工したい内容を
日本語で伝える
AIがSQLを
組み立てて提示
少量データで
結果を試験確認
問題なければ
全件に適用
| 業務領域 | 主な用途 | 削減時間(概算・肌感) |
|---|---|---|
| 営業 | 顧客リストの電話番号・住所データの形式統一 | 都度2〜4h → 15分 |
| 広告運用 | 地域別・流入経路別の顧客データ集計 | 週次3h → 30分 |
| 経理 | 請求データの文字列パターンからの金額・日付抽出 | 月10h → 1h |
上記は弊社の肌感ベースの概算値であり、データ量・加工内容によって変動します。「AI活用でどの程度まで作業を圧縮できるか」の参考情報としてご覧ください。
弊社では、顧客データベースの加工を依頼する際、「まず少量のデータで試験的に実行し、結果を確認してから全件に適用する」という2段階の運用を徹底しています。これにより、意図しない加工が全データに適用されてしまうリスクを最小限に抑えています。
この運用を始める前は、依頼内容の伝え方が曖昧なまま全件に加工をかけてしまい、後から想定と違う結果に気づいて手戻りが発生する、というケースが実際にありました。試験実行を挟むようになってからは、こうした手戻りがほぼゼロになり、結果的にトータルの作業時間も短縮されています。
6-2. 加工結果をどう検証するか
試験実行の結果を検証する際、弊社では「件数」「サンプルデータの内容」「想定外の値(空欄・記号のみなど)の有無」の3点を必ずチェックしています。特に想定外の値の有無は見落とされがちですが、元データに紛れ込んだ特殊なケース(極端に短い・長い文字列、記号だけのデータなど)が、加工処理でエラーや意図しない結果を引き起こす原因になりやすいポイントです。
6-1. 「試験実行」を挟むことで得られる安心感
弊社が2段階運用(少量データでの試験実行→全件適用)を徹底している理由は、単にミスを防ぐためだけではありません。試験実行の結果を見ることで、依頼した内容が本当に意図通りかを、実行前ではなく「実際の結果」で確認できるという安心感が大きいのです。文章だけのやり取りでは伝わりきらないニュアンスも、実際のデータで数件確認すれば一目瞭然です。
この運用は、特にデータ量が数万件・数十万件に及ぶ場合に効果を発揮します。全件に対して誤った加工を適用してしまうと、修正にも同等の手間がかかりますが、試験実行の段階で気づければ、影響は最小限に抑えられます。
07 SAFE DB OPERATIONS 【独自】データベース操作をAIに任せる際の安全設計 「読み取り」と「書き込み」で扱いを変える
データベースは会社の重要な資産です。文字列操作関数を使った作業も、「データを読み取って表示するだけ」なのか「データベースの中身を実際に書き換える」のかによって、慎重さのレベルを変える必要があります。この区別を意識せずにAI活用を進めると、便利さの裏でリスクを見落とすことになりかねません。
| 操作の種類 | 代表例 | 推奨される運用 |
|---|---|---|
| 読み取り(SELECT) | 文字列を切り出して表示・集計する | AIに自由に任せてよい。元データへの影響がない |
| 書き込み(UPDATE) | 切り出した結果でデータベースの値を書き換える | 事前にバックアップを取り、対象範囲を確認してから実行 |
| 削除(DELETE) | 不要になったデータを削除する | 最も慎重に。対象件数の事前確認と人間の最終承認を必須にする |
📚 用語解説
SELECT / UPDATE / DELETE:SQLにおける代表的な操作の種類。SELECTは「データを読み取るだけ」で元データに影響を与えません。UPDATEは「既存データを書き換える」、DELETEは「データを削除する」操作で、いずれも実行すると元の状態には戻せない可能性がある不可逆な操作です。
この記事の主役であるSUBSTRING・LEFT・RIGHT関数自体は、多くの場合SELECT文の中で「表示・集計のための一時的な加工」として使われるため、比較的安全な部類に入ります。ただし、「加工した結果でデータベースの値そのものを書き換える」UPDATE文と組み合わせる場合は、話が変わります。同じ関数を使っていても、その関数が「SELECTの中」で使われているか「UPDATEの中」で使われているかによって、リスクの水準がまったく異なる点を理解しておく必要があります。
読み取りだけならAIに任せる。書き換え・削除が伴うなら、必ず「対象確認→バックアップ→実行→検証」の4ステップを踏む
この線引きさえ徹底すれば、データベースという会社の資産を安全に活用できます。
SELECTで
対象範囲を確認
バックアップを
取得
UPDATE/DELETEを
実行
想定件数と
一致するか確認
7-1. 「対象件数の事前確認」がなぜ重要か
UPDATE文やDELETE文を実行する前に、まず同じ条件でSELECT文を実行し、「何件のデータが対象になるか」を事前に把握しておくことが極めて重要です。もし想定していた件数(例えば「東京都の顧客、約200件」)と、実際にSELECTで返ってきた件数が大きく異なっていた場合(例えば5,000件)、それは条件の指定に誤りがある可能性を示すシグナルです。この時点で気づければ、誤った大量書き換えを未然に防げます。
件数が想定通りであっても、実際にどのデータが対象になっているかをいくつかサンプルで確認することをおすすめします。件数が偶然一致していても、対象そのものが誤っているケースもゼロではありません。
08 CONCLUSION まとめ 文字列操作の知識より、安全な任せ方の設計が重要
この記事では、SQLの文字列操作関数(SUBSTRING・LEFT・RIGHT)の書き方と実務での活用例、自分で書く場合とAIに任せる場合の違い、そしてデータベース操作を安全にAIへ任せる設計を、GENAIの実運用データを交えて解説しました。最後にポイントを振り返ります。
SQLという専門的に聞こえる技術も、突き詰めれば「会社に蓄積されたデータを、使える形に整えて活用する」という、極めて実務的な目的のための道具に過ぎません。この記事で紹介した考え方を持ち帰り、次に「このデータ、うまく活用できていないな」と感じた場面があれば、まずはAIに相談してみることをおすすめします。
データは「持っているだけ」では価値を生みません。整形し、集計し、意思決定に使える形にして初めて、蓄積してきたデータが経営の武器になります。文字列操作という小さな一歩から、その活用の扉を開いてみてください。
SQLの文字列操作という一見専門的なテーマですが、その本質は「バラバラなデータを、使える形に整える」という、あらゆる企業に共通する課題です。専門知識を覚えることより、「何を実現したいか」を明確に持ち、AIに正確に伝える力を磨くことが、これからの時代により重要になります。
「顧客データがバラバラで活用できていない」を解消しませんか
データの形式統一・加工・分析は、AI活用の効果が数値で見えやすい領域です。
貴社のデータの現状を見ながら、どこまで自動化できるかを一緒に整理します。
現状のデータベースやExcel台帳を見ながら、どこに表記ゆれや加工の余地があるかを一緒に洗い出すところから始められます。
NEXT STEP
この記事の内容を、あなたのビジネスで
実践してみませんか?
AI活用を自社で回せるようになりたい方へ
AI鬼管理
Claude Code・Cowork導入支援から業務設計・社内浸透まで実践ベースで伴走。「自社で回せる組織」を90日で作る経営者向けトレーニング。
よくある質問
Q. SUBSTRING関数の開始位置を0にすると何が起きますか?
A. SQLの多くの環境では、開始位置は1から数えるため、0を指定すると意図しない結果(環境によっては1文字目から取得される、あるいはエラーになる)が返ることがあります。PythonやJavaScriptの0始まりのインデックスに慣れていると混同しやすいポイントなので注意が必要です。
Q. LEFT関数とSUBSTRING関数、どちらを覚えればいいですか?
A. 「先頭から一定文字数を取得する」だけならLEFT関数の方がシンプルで書き間違いも起きにくいです。文字列の途中から特定範囲を切り出したい場合にのみSUBSTRING関数が必要になる、と使い分けを覚えておくと実務で困りません。
Q. SQLの文字列操作をAIに任せる場合、データベースの知識がなくても大丈夫ですか?
A. 大丈夫です。「このデータからこの部分を抜き出したい」という目的を日本語で伝えれば、AIが適切なSQL文を組み立てます。ただし、どのデータベース(種類)を使っているかは伝えると、より正確な構文で対応してもらえます。
Q. データベースの値を書き換える作業もAIに任せて安全ですか?
A. 読み取り(SELECT)だけの操作であれば安全にAIへ任せられますが、書き換え(UPDATE)や削除(DELETE)を伴う操作は、事前にバックアップを取り、対象範囲を確認してから実行するという慎重な運用を徹底することをおすすめします。
Q. 文字列操作関数を使う際、全角と半角の違いは考慮する必要がありますか?
A. 考慮が必要です。同じ「3文字」でも、全角と半角ではデータベースの内部的な扱いが異なる場合があります。日本語データを扱う際は、全角・半角が混在していないか事前に確認し、必要であれば統一する処理を挟むことをおすすめします。
Q. SQLの文字列操作関数は、Excelの関数と何が違うのですか?
A. 考え方はよく似ていますが、SQLはデータベースに保存された大量のデータ(数万〜数百万件)に対して、一括で高速に処理できる点が異なります。Excelは数千件程度までは快適に扱えますが、それを超える規模になるとSQLでの処理の方が現実的です。
Claude Codeで業務自動化を90日で叩き込む
経営者向けの伴走型パーソナルトレーニング
Claude Code を業務に落とし込む
専門研修コース一覧
受講者本人の業務を題材に、「使いこなせる」状態になるまで伴走する研修プログラム。1対1特化型・ハンズオン・法人講座の3コースを展開中。業務特化・実装まで踏み込むタイプのClaude Code研修です。
研修コース一覧を見る →AI鬼管理へのお問い合わせ
この記事を読んで気になった方へ。
AI鬼管理の専門スタッフが、御社に最適な
業務自動化プランを無料でご提案します。




