#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
5 min read
Question 20 of 29easy

What are common SQL string functions?

Manipulating text in SQL.

What You'll Learn

  • String manipulation functions
  • Pattern matching
  • Common use cases

Basic Functions

query.sqlSQL
-- Length
SELECT LENGTH('Hello');  -- 5
SELECT CHAR_LENGTH('Hello');  -- 5

-- Case conversion
SELECT UPPER('hello');  -- HELLO
SELECT LOWER('HELLO');  -- hello

-- Trim whitespace
SELECT TRIM('  hello  ');  -- 'hello'
SELECT LTRIM('  hello');   -- 'hello'
SELECT RTRIM('hello  ');   -- 'hello'

-- Concatenation
SELECT CONCAT('Hello', ' ', 'World');  -- 'Hello World'
SELECT 'Hello' || ' ' || 'World';      -- Standard SQL

Substring

query.sqlSQL
-- Extract substring
SELECT SUBSTRING('Hello World', 1, 5);  -- 'Hello'
SELECT SUBSTR('Hello World', 7);        -- 'World'

-- Position of substring
SELECT POSITION('World' IN 'Hello World');  -- 7
SELECT INSTR('Hello World', 'World');       -- 7 (MySQL)

Replace and Modify

query.sqlSQL
-- Replace
SELECT REPLACE('Hello World', 'World', 'SQL');  -- 'Hello SQL'

-- Reverse
SELECT REVERSE('Hello');  -- 'olleH'

-- Repeat
SELECT REPEAT('ab', 3);  -- 'ababab'

-- Pad
SELECT LPAD('42', 5, '0');   -- '00042'
SELECT RPAD('Hi', 5, '!');   -- 'Hi!!!'

Pattern Matching

query.sqlSQL
-- LIKE
SELECT * FROM users WHERE email LIKE '%@gmail.com';
SELECT * FROM products WHERE name LIKE 'iPhone%';
SELECT * FROM codes WHERE code LIKE '___-___';  -- 3 chars, dash, 3 chars

-- REGEXP (MySQL)
SELECT * FROM users WHERE email REGEXP '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$';

Practical Examples

query.sqlSQL
-- Format name
SELECT CONCAT(UPPER(LEFT(first_name, 1)), LOWER(SUBSTRING(first_name, 2))) AS formatted_name
FROM users;

-- Extract domain from email
SELECT SUBSTRING(email, POSITION('@' IN email) + 1) AS domain
FROM users;