0Pricing
SQL Academy · レッスン

UPPER、LOWER、SUBSTRING、REPLACE

大文字・小文字を統一し、位置と長さで部分文字列を切り出し、テキスト内のパターンを置換します。

「UPPER、LOWER、SUBSTRING、REPLACE」はCoddyKit上の無料SQL Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSQL Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 SQL Academyコースには全4レッスンが含まれています。

大文字と小文字の変換

基本的な関数は2つあります。

SELECT UPPER('hello');     -- HELLO
SELECT LOWER('Hello');     -- hello
SELECT INITCAP('hello world');  -- 'Hello World' (PostgreSQL extension)

大文字と小文字を正規化する理由

メールアドレスの比較では大文字と小文字を区別しない一方、保存時には大文字と小文字を保持するべきです。比較時に正規化してください。

SELECT * FROM users WHERE LOWER(email) = LOWER('USER@Example.COM');

-- Or use a functional index:
CREATE INDEX users_email_lower_idx ON users (LOWER(email));

citext:大文字と小文字を区別しないテキスト型

常に大文字と小文字を区別せずに比較する列には、citext 拡張機能を使用します。

CREATE EXTENSION IF NOT EXISTS citext;
CREATE TABLE users (email CITEXT UNIQUE);

SUBSTRING

開始位置と長さを指定して部分文字列を取り出します。

SELECT SUBSTRING('PostgreSQL', 1, 4);    -- 'Post'
SELECT SUBSTRING('PostgreSQL' FROM 5);    -- 'greSQL'

-- 1-based indexing, not 0-based

正規表現を使ったSUBSTRING

PostgreSQLでは、正規表現パターンも使用できます。

SELECT SUBSTRING('user@example.com' FROM '@(.+)$');
-- 'example.com'

LEFTとRIGHT

「先頭N文字」と「末尾N文字」を取得するための簡略記法です。

SELECT LEFT('PostgreSQL', 4);     -- 'Post'
SELECT RIGHT('PostgreSQL', 3);    -- 'SQL'

REPLACE

部分文字列のすべての出現箇所を置き換えます。

SELECT REPLACE('hello world', 'world', 'SQL');   -- 'hello SQL'
SELECT REPLACE(phone, '-', '');                  -- strip dashes

REGEXP_REPLACE

パターンに基づいて置き換えます。

SELECT REGEXP_REPLACE('Order #1234', '[^0-9]', '', 'g');  -- '1234'
SELECT REGEXP_REPLACE(text, '\s+', ' ', 'g');             -- collapse whitespace

LENGTHとCHAR_LENGTH

バイト数ではなく、文字数を返します(Unicodeに対応しています)。

SELECT LENGTH('héllo');           -- 5
SELECT CHAR_LENGTH('héllo');      -- 5
SELECT OCTET_LENGTH('héllo');     -- 6  (UTF-8 byte length)

POSITIONとSTRPOS

部分文字列の位置を見つけます。

SELECT POSITION('SQL' IN 'PostgreSQL');    -- 8
SELECT STRPOS('PostgreSQL', 'SQL');        -- 8

REVERSE

文字列を逆順にします。

SELECT REVERSE('hello');     -- 'olleh'

振り返り

大文字と小文字の変換、部分文字列、置換で、ほとんどのテキスト加工に対応できます。

  • 正規化にはLOWER/UPPER
  • 文字列の切り出しにはSUBSTRING
  • 固定文字列の置換にはREPLACE、パターンによる置換にはREGEXP_REPLACE

確認問題

SUBSTRING('database', 5, 4) は何を返しますか?

よくある質問

「UPPER、LOWER、SUBSTRING、REPLACE」レッスンは無料ですか?

はい。「UPPER、LOWER、SUBSTRING、REPLACE」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、SQL Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 SQL Academyコースには全4レッスンが含まれています。

「UPPER、LOWER、SUBSTRING、REPLACE」で何を学びますか?

大文字・小文字を統一し、位置と長さで部分文字列を切り出し、テキスト内のパターンを置換します。 ブラウザで直接実行するハンズオンコードでSQL Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

SQL Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSQL Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「UPPER、LOWER、SUBSTRING、REPLACE」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSQL Academyレッスンでコードを書いて実行できますか?

はい。すべてのSQL Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 連結:||とCONCAT
  2. UPPER、LOWER、SUBSTRING、REPLACE
  3. TRIM、LPAD、RPAD
  4. 全文検索入門(tsvector、to_tsquery)
← SQL Academyに戻る