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 dashesREGEXP_REPLACE
パターンに基づいて置き換えます。
SELECT REGEXP_REPLACE('Order #1234', '[^0-9]', '', 'g'); -- '1234'
SELECT REGEXP_REPLACE(text, '\s+', ' ', 'g'); -- collapse whitespaceLENGTHと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'); -- 8REVERSE
文字列を逆順にします。
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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 連結:||とCONCAT
- UPPER、LOWER、SUBSTRING、REPLACE
- TRIM、LPAD、RPAD
- 全文検索入門(tsvector、to_tsquery)