MySQL String Functions

Introduction

In this chapter, we will learn about various string functions in MySQL. String functions allow you to manipulate and query string data. These functions are essential for tasks such as searching, formatting, and transforming text data. We will cover the syntax and examples of commonly used string functions in MySQL, including CONCAT(), LENGTH(), SUBSTRING(), UPPER(), LOWER(), TRIM(), REPLACE(), and INSTR().

Common String Functions

1. CONCAT()

The CONCAT() function concatenates two or more strings into a single string.

Syntax:

SELECT CONCAT(string1, string2, ...);

Example:

SELECT CONCAT('Hello, ', 'World!') AS greeting;

Output:

greeting
Hello, World!

2. LENGTH()

The LENGTH() function returns the length of a string in bytes.

Syntax:

SELECT LENGTH(string);

Example:

SELECT LENGTH('Hello') AS length;

Output:

length
5

3. SUBSTRING()

The SUBSTRING() function extracts a substring from a string.

Syntax:

SELECT SUBSTRING(string, start_position, length);

Example:

SELECT SUBSTRING('Hello, World!', 8, 5) AS substring;

Output:

substring
World

4. UPPER()

The UPPER() function converts all characters in a string to uppercase.

Syntax:

SELECT UPPER(string);

Example:

SELECT UPPER('hello') AS uppercase;

Output:

uppercase
HELLO

5. LOWER()

The LOWER() function converts all characters in a string to lowercase.

Syntax:

SELECT LOWER(string);

Example:

SELECT LOWER('HELLO') AS lowercase;

Output:

lowercase
hello

6. TRIM()

The TRIM() function removes leading and trailing spaces from a string.

Syntax:

SELECT TRIM(string);

Example:

SELECT TRIM('  Hello  ') AS trimmed;

Output:

trimmed
Hello

7. REPLACE()

The REPLACE() function replaces all occurrences of a substring within a string with another substring.

Syntax:

SELECT REPLACE(string, substring_to_replace, replacement_substring);

Example:

SELECT REPLACE('Hello, World!', 'World', 'MySQL') AS replaced_string;

Output:

replaced_string
Hello, MySQL!

8. INSTR()

The INSTR() function returns the position of the first occurrence of a substring within a string.

Syntax:

SELECT INSTR(string, substring);

Example:

SELECT INSTR('Hello, World!', 'World') AS position;

Output:

position
8

Full Example

Let’s go through a full example where we use various string functions with a sample table.

  1. Create a Database and Table
CREATE DATABASE company;
USE company;

CREATE TABLE employees (
    employee_id INT PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    email VARCHAR(100)
);

INSERT INTO employees (first_name, last_name, email) VALUES
('Rahul', 'Sharma', 'rahul.sharma@example.com'),
('Priya', 'Singh', 'priya.singh@example.com'),
('Amit', 'Kumar', 'amit.kumar@example.com');
  1. Using String Functions

Example: Concatenate First and Last Names

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

Output:

full_name
Rahul Sharma
Priya Singh
Amit Kumar

Example: Get the Length of Email Addresses

SELECT email, LENGTH(email) AS email_length
FROM employees;

Output:

email email_length
rahul.sharma@example.com 23
priya.singh@example.com 22
amit.kumar@example.com 21

Example: Extract Domain from Email Addresses

SELECT email, SUBSTRING(email, INSTR(email, '@') + 1) AS domain
FROM employees;

Output:

email domain
rahul.sharma@example.com example.com
priya.singh@example.com example.com
amit.kumar@example.com example.com

Example: Convert Names to Uppercase

SELECT first_name, last_name, UPPER(first_name) AS upper_first_name, UPPER(last_name) AS upper_last_name
FROM employees;

Output:

first_name last_name upper_first_name upper_last_name
Rahul Sharma RAHUL SHARMA
Priya Singh PRIYA SINGH
Amit Kumar AMIT KUMAR

Example: Replace Domain in Email Addresses

SELECT email, REPLACE(email, 'example.com', 'company.com') AS new_email
FROM employees;

Output:

email new_email
rahul.sharma@example.com rahul.sharma@company.com
priya.singh@example.com priya.singh@company.com
amit.kumar@example.com amit.kumar@company.com

Important Considerations

  • Case Sensitivity: Some string functions are case-sensitive. Be aware of this when performing string comparisons.
  • Performance: String functions can impact performance, especially on large datasets. Optimize your queries by minimizing unnecessary string manipulations.
  • Data Types: Ensure that the columns used with string functions contain compatible data types to avoid errors.

Conclusion

String functions in MySQL are powerful tools for manipulating and querying text data. This chapter covered the syntax and examples of commonly used string functions, including CONCAT(), LENGTH(), SUBSTRING(), UPPER(), LOWER(), TRIM(), REPLACE(), and INSTR(). By mastering these functions, you can efficiently handle text data in your databases.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top