UPPER, LOWER, SUBSTRING, REPLACE
ปรับรูปแบบตัวพิมพ์ ตัดสตริงย่อยตามตำแหน่งและความยาว และแทนที่รูปแบบภายในข้อความ
UPPER, LOWER, SUBSTRING, REPLACE เป็นบทเรียน SQL Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน SQL Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
การเปลี่ยนตัวพิมพ์
ฟังก์ชันพื้นฐานสองรายการ:
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-basedSUBSTRING พร้อมนิพจน์ทั่วไป
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” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส SQL Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “UPPER, LOWER, SUBSTRING, REPLACE”
ปรับรูปแบบตัวพิมพ์ ตัดสตริงย่อยตามตำแหน่งและความยาว และแทนที่รูปแบบภายในข้อความ คุณปฏิบัติ SQL Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน SQL Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน SQL Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 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)