From 6df0cb92fb226e4e0c06b16d521a2d87619269f9 Mon Sep 17 00:00:00 2001 From: Shad Ahmad Zaidi Date: Sat, 24 Nov 2018 18:00:34 +0530 Subject: [PATCH] Included use of underscore wildcard character (#22613) * Included use of underscore wildcard character Included the use and example of wildcard character underscore which can be used with LIKE operator * fix(guide): minor typos and grammar --- guide/english/sql/sql-like-operator/index.md | 25 +++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/guide/english/sql/sql-like-operator/index.md b/guide/english/sql/sql-like-operator/index.md index db610d33ae..e0cc425caa 100644 --- a/guide/english/sql/sql-like-operator/index.md +++ b/guide/english/sql/sql-like-operator/index.md @@ -4,7 +4,7 @@ title: SQL LIKE Operator ## SQL LIKE Operator ### LIKE Operator defined -The `LIKE` operator is used in a `WHERE` or `HAVING` (as part of the `GROUP BY`) to limit the selected rows to the items when a column has a certain pattern of characters contained in it. +The `LIKE` operator is used in a `WHERE` or `HAVING` (as part of the `GROUP BY`) to limit the selected rows to the items when a column has a certain pattern of characters contained in it. It is used along with two wildcard characters namely underscore **_** and percent **%** symbol ### ILIKE Opeartor The 'ILIKE' works same as 'LIKE' but it ignores case-sensitivity in the string. The provided pattern string should be the case-sensitive else you will get an error. To avoid these errors, just write `ILIKE` instead of `LIKE`. @@ -18,9 +18,11 @@ FullName ILIKE 'monique%' // --you will not see any error now. * Determining if a string starts or ends with a given string pattern * Determining if a pattern exists in the middle of the string * Determining if a string is not contained in the string +* Determining if a string is has specified letter at any position in the string ### A column starts or ends with a given string pattern This SQL will select students that have `FullName` starting with "Monique" or ending with "Greene". +Here **%** means that it can be replaced by any number of characters. ```sql SELECT studentID, FullName, sat_score, rcd_updated @@ -80,6 +82,27 @@ WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%'; 7 rows in set (0.00 sec) ``` +### A string has a specific letter say o in the second position +This SQL shows records having **o** as the alphabet in second position in the FullName column. +Here **_** means that it can be replaced by only a single character. + +```sql +SELECT studentID, FullName, sat_score, rcd_updated +FROM student +WHERE FullName LIKE '_o%'; +``` +```text ++-----------+----------------------+-----------+---------------------+ +| studentID | FullName | sat_score | rcd_updated | ++-----------+----------------------+-----------+---------------------+ +| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | +| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | +| 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | +| 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | ++-----------+----------------------+-----------+---------------------+ +4 rows in set (0.00 sec) +``` + *Here is the current full student list to compare to the where clause result sets above.* ```sql