Table of Contents
Related Searches: sql like, sql like statement, like operator in sql, sql starts with, like query in sql, sql like or, sql like syntax, like command in sql, like function in sql, using like in sql, sql select like, how to use like in sql, like clause in sql, sql string like, mysql like query, like mysql, where like, like query, select like, like operator, sql search query, like keyword in sql, sql like and, sql query starts with, mysql select like, sql like example, sql where starts with, select like sql server, pattern matching in sql w3schools, like clause in sql server, like search
What is the Use of SQL Like Operator?
In SQL, like comparison operator is used to compare or to manipulate text with regular expressions. It determines whether a character string matches to a specific regular expression pattern or a pattern of wildcard characters. Determines whether a specific character string matches a specified pattern.
Regular expression must exactly match the characters specified in the character string. Whereas, wildcard characters can be matched with arbitrary piece of the character string. Two Using wildcard characters makes the LIKE operator more flexible.
There are mainly four wildcard characters are available
Wildcard character Description
% Match any string of zero or more character
_ Match any single character at specific position
 Match within a specific range for comparison for single character range ([a-f]) or set ([abcdef]).
[^] Check for specific character not within the specified range ([^a-f]) or set ([^abcdef]).
The LIKE condition is used in the WHERE clause of a SELECT, INSERT, UPDATE, or DELETE statement.
SQL Like Operator Syntax
Column | match_expression [ NOT] LIKE pattern [ ESCAPE escape_character ];
match_expression: Is any valid expression of character data type used in a WHERE clause
Pattern: Is the specific string of characters to search for in match_expression, and can include the above valid wildcard characters. pattern can be a maximum of 8,000 bytes. Patterns are case sensitive, that is, uppercase characters do not match lowercase characters, or vice versa.
escape_character: It is a character put in front of a wildcard character to indicate that the wildcard is interpreted as a regular character and not as a wildcard. escape_character is a character expression that has no default and must evaluate to only one character.
Pattern Matching Using SQL LIKE with ‘%’ wildcard character
LIKE '5%'matches for the number 5 followed by any string of zero or more characters.
LIKE 'Intro%'matches for any string beginning with ‘Intro’
LIKE '%Comp%'matches for any string containing ‘Comp’ as a substring, for example ‘fundamental of computers’;
LIKE '_ _ _'matches for any string of exactly three characters
LIKE '_ _ _ %'matches for any string of at least three characters.
LIKE 'a%n'matches for any string which starts with a and end with n for example ‘admin’
LIKE 'd_%_%'matches for any string starts with d and having atleast 3-character length
SQL Like Operator Practical Examples
We are considering two tables of student result management system, table student and table result for examples.
student_id studentname admissionno admissiondate enrollmentno date_of_birth city class_id
101 reema 10001 02-02-2000 e15200002 02-02-1990 email@example.com surat 2
102 kriya 10002 04-05-2001 e16200003 04-08-1991 firstname.lastname@example.org surat 1
103 meena 10003 06-05-1999 e15200004 02-09-1989 email@example.com vadodara 3
104 carlin 2001 04-01-1998 e14200001 04-04-1989 firstname.lastname@example.org vapi 1
105 dhiren 2002 02-02-1997 e13400002 02-02-1987 email@example.com vapi 2
106 hiren 2003 01-01-1997 e13400001 03-03-1887 firstname.lastname@example.org surat 2
107 mahir 10004 06-09-2000 e15200003 07-09-1990 email@example.com vapi 3
108 nishi 2004 02-04-2001 e16200001 03-02-1991 firstname.lastname@example.org vadodara 1
result_id student_id examname examdate subject obtainmark totalmarks percentage grade status
3001 101 sem1 07-08-2001 1 80 100 80 A+ pass
3002 101 sem1 08-08-2001 2 76 100 76 A+ pass
3003 102 sem3 05-05-2000 3 67 100 67 A pass
3004 102 sem3 06-05-2000 4 89 100 89 A+ pass
3005 102 sem3 07-05-2000 5 90 100 90 A+ pass
3006 103 sem5 08-09-1998 6 55 100 55 B pass
3007 103 sem5 09-09-1998 7 30 100 30 D fail
3008 103 sem5 10-09-1998 8 34 100 34 D fail
SQL LIKE with ‘%’ wildcard character Examples
Retrieve student records who are living in city, name starts with ‘v’ using SQL Like operator
SELECT student_id, studentname, admissionno, admissiondate, enrollmentno, date_of_birth, email, city, class_id FROM tblstudent WHERE (city LIKE 'V%');
When we execute above query, it first checks for the condition on city name to compare with pattern ‘V%’ means any city name which starts with v character.
To get student data who have appeared in month of MAY for exam, use SQL Like operator with ‘%’
SELECT result_id, student_id, examname, examdate, subjectid, obtainmark, totalmarks, pecentage, grade, status FROM tblresult WHERE (examdate LIKE '%-05-%')
When we execute above query it checks for a middle pattern matching that is month number in column exam date should be 5th.
Use SQL LIKE operator to find the details of all the students having ‘m’ as the first character in their names and ‘a’ as last character
SELECT student_id, studentname, admissionno, admissiondate, enrollmentno, date_of_birth, email, city, class_id FROM tblstudent WHERE (studentname LIKE 'm%a')
In above query we used % wild character in pattern matching, when we execute query it compare Patten and fetch record where student name starts with m and end with a.
SQL LIKE with ‘_’ wildcard character Examples
To get records of students whose enrolment number must be of length 9 and ended with ‘00003’ number
SELECT student_id, studentname, admissionno, admissiondate, enrollmentno, date_of_birth, email, city, class_id FROM tblstudent WHERE (enrollmentno LIKE '____00003');
Use SQL LIKE operator with ‘_’ to list all students whose city name is start with ‘su’ with length of 5, and student name of length 6 and having a as a last character
SELECT student_id, studentname, admissionno, admissiondate, enrollmentno, date_of_birth, email, city, class_id FROM tblstudent WHERE (city LIKE 'su___') AND (studentname LIKE '____a');
SQL LIKE with [ ] wildcard character Examples
Square brackets [ ] checks for a character should be within the range at specific position in a string or in a column value.
To get list of students who are currently in semester 1 or semester 3 use SQL LIKE with 
SELECT result_id, student_id, examname, examdate, subjectid, obtainmark, totalmarks, pecentage, grade, status FROM tblresult WHERE (examname LIKE 'sem')
Use SQL Query with like operator to find list of students whose name start within the range of a through h.
SELECT student_id, studentname, admissionno, admissiondate, enrollmentno, date_of_birth, email, city, class_id FROM tblstudent WHERE (studentname LIKE '[a-h]%');
SQL LIKE with ‘^’ wildcard character Examples
^ character is used to get data which is not fall into the range of character or with set of character pattern within
To fetch the student result record to find list of students how do not get percentage between 50 to 60 use SQL Like operator with [^]
SELECT result_id, student_id, examname, examdate, subjectid, obtainmark, totalmarks, pecentage, grade, status FROM tblresult WHERE (pecentage LIKE '[^50-60]%')
SQL LIKE with the ESCAPE clause example
ESCAPE instructs the LIKE operator to treat a character as a literal string instead of a wildcard
For example, to get list out the students whose emailId contains
_ character as a middle character.
SELECT student_id, studentname, admissionno, admissiondate, enrollmentno, date_of_birth, email, city, class_id FROM tblstudent WHERE (email LIKE '%!_%' ESCAPE '!')
In above query we used ESCAPE to escape the meaning of
_ character in SQL pattern. When we execute above query it will return records of students whose email id contains
_ as one middle character
SQL LIKE OPERATOR with CASE Statement
SQL Case statement is like '
if..then' conditional statement of programming language but it is in pair of
when..then when used in SQL . We can use SQL CASE statement with LIKE operator to check for multiple condition with each When clause and gives result accordingly.
For example, if we want to list the student with their grade class who has pass exam more than 35 percentage that is if percentage is more than 70 than class will be Distinction and if percentage is between 60 to 70 than class will be First, and if percentage is below 60 than class will be second class.
SELECT st.studentname, r.examname, r.pecentage, CASE WHEN pecentage LIKE '[7-9]%' THEN 'Distinction' WHEN pecentage LIKE '6%' THEN 'First Class' WHEN pecentage LIKE '6%' THEN 'Second Class' WHEN pecentage LIKE '5%' THEN 'Pass Class' ELSE 'Fail' END AS Expr1 FROM tblstudent AS st INNER JOIN tblresult AS r ON st.student_id = r.student_id ORDER BY r.examname;
SQL LIKE OPERATOR with UPDATE & DELETE SQL Statement
Like Operator can we used with SQL UPDATE and SQL DELETE command also to modify and to delete records on conditional basis.
SQL Like with Update & DELETE Syntax:
UPDATE table_name SET column_name=newvalue WHERE column_name LIKE pattern|Regular_expression ; DELETE FROM table_name WHERE column_name LIKE pattern|Regular_expression;
SQL DELETE WITH LIKE Operator Example
Using SQL LIKE Operator to Delete record of student who have percentage less than 35
DELETE FROM tblresult WHERE (pecentage LIKE '3[0-5]');
When we execute above query it shows error message like two rows deleted from result table. Here the percentage is compared and check with pattern of first digit should be 3 and second digit can be between 0 to 5.
To see the output, we need to use SELECT SQL Command
SELECT result_id, student_id, examname, examdate, subjectid, obtainmark, totalmarks, pecentage, grade, status FROM tblresult;
SQL UPDATE WITH LIKE Operator Example
Execute SQL Query to modify city name of student set as ‘Surat’ where city name starts with ‘s’
UPDATE tblstudent SET city = 'Surat' WHERE (city LIKE 's%');
When we execute this query ‘3 rows updated’ message will appear. It checks for pattern matching city names, starts with ‘s’ and then replace it with ‘Surat’
To see the result of this modification, we must have to use SQL SELECT command
SQL NOT LIKE with the % wildcard character
There is a condition where we need to fetch records which do not match with pattern, in such situation we need to use SQL NOT LIKE Operator. SQL NOT LIKE is also used with SELECT, DELETE AND UPDATE Statements.
SQL NOT LIKE Syntax
SELECT column_name FROM table_name WHERE column_name NOT LIKE pattern|Regular_expreesion; UPDATE table_name SET column_name=value WHERE column_name NOT LIKE pattern|Regular_expreesion; DELETE FROM table_name WHERE column_name NOT LIKE pattern|Regular_expreesion;
SQL NOT LIKE Operator Example
Retrieve the records of student where student name does not end with ‘n’
SELECT student_id, studentname, admissionno, admissiondate, enrollmentno, date_of_birth, email, city, class_id FROM tblstudent WHERE (studentname NOT LIKE '%n');
When we execute above query first it checks value of student name not ended by character ‘n’.
In this article of SQL Like Operator we have learned about use of comparison operator Like what is pattern and expression as well as we have discussed about wildcard operators and use of ESCAPE character in comparison. Searching method using LIKE Operator is to compare string value of column with specified pattern. We have also covered SQL LIKE operator used with SQL DELETE and SQL UPDATE statement with example.