d34cb59fb3
### What changes were proposed in this pull request? Document LIKE clause in SQL Reference ### Why are the changes needed? To make SQL Reference complete ### Does this PR introduce any user-facing change? Yes <img width="1050" alt="Screen Shot 2020-04-25 at 5 49 57 PM" src="https://user-images.githubusercontent.com/13592258/80294346-5babab80-871d-11ea-8ac9-51bbab0aca88.png"> <img width="1050" alt="Screen Shot 2020-04-25 at 5 50 24 PM" src="https://user-images.githubusercontent.com/13592258/80294347-5ea69c00-871d-11ea-8c51-7a90ee20f7da.png"> <img width="1050" alt="Screen Shot 2020-04-25 at 5 50 42 PM" src="https://user-images.githubusercontent.com/13592258/80294351-61a18c80-871d-11ea-9e75-e3345d2f52f5.png"> ### How was this patch tested? Manually build and check Closes #28332 from huaxingao/where_clause. Authored-by: Huaxin Gao <huaxing@us.ibm.com> Signed-off-by: Takeshi Yamamuro <yamamuro@apache.org>
121 lines
2.9 KiB
Markdown
121 lines
2.9 KiB
Markdown
---
|
|
layout: global
|
|
title: LIKE Predicate
|
|
displayTitle: LIKE Predicate
|
|
license: |
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
---
|
|
|
|
### Description
|
|
|
|
A LIKE predicate is used to search for a specific pattern.
|
|
|
|
### Syntax
|
|
|
|
{% highlight sql %}
|
|
[ NOT ] { LIKE search_pattern [ ESCAPE esc_char ] | RLIKE regex_pattern }
|
|
{% endhighlight %}
|
|
|
|
### Parameters
|
|
|
|
<dl>
|
|
<dt><code><em>search_pattern</em></code></dt>
|
|
<dd>
|
|
Specifies a string pattern to be searched by the <code>LIKE</code> clause. It can contain special pattern-matching characters:
|
|
<ul>
|
|
<li><code>%</code></li> matches zero or more characters.
|
|
<li><code>_</code></li> matches exactly one character.
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><code><em>esc_char</em></code></dt>
|
|
<dd>
|
|
Specifies the escape character. The default escape character is <code>\</code>.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><code><em>regex_pattern</em></code></dt>
|
|
<dd>
|
|
Specifies a regular expression search pattern to be searched by the <code>RLIKE</code> clause.
|
|
</dd>
|
|
</dl>
|
|
|
|
### Examples
|
|
|
|
{% highlight sql %}
|
|
CREATE TABLE person (id INT, name STRING, age INT);
|
|
INSERT INTO person VALUES
|
|
(100, 'John', 30),
|
|
(200, 'Mary', NULL),
|
|
(300, 'Mike', 80),
|
|
(400, 'Dan', 50),
|
|
(500, 'Evan_w', 16);
|
|
|
|
SELECT * FROM person WHERE name LIKE 'M%';
|
|
+---+----+----+
|
|
| id|name| age|
|
|
+---+----+----+
|
|
|300|Mike| 80|
|
|
|200|Mary|null|
|
|
+---+----+----+
|
|
|
|
SELECT * FROM person WHERE name LIKE 'M_ry';
|
|
+---+----+----+
|
|
| id|name| age|
|
|
+---+----+----+
|
|
|200|Mary|null|
|
|
+---+----+----+
|
|
|
|
SELECT * FROM person WHERE name NOT LIKE 'M_ry';
|
|
+---+------+---+
|
|
| id| name|age|
|
|
+---+------+---+
|
|
|500|Evan_W| 16|
|
|
|300| Mike| 80|
|
|
|100| John| 30|
|
|
|400| Dan| 50|
|
|
+---+------+---+
|
|
|
|
SELECT * FROM person WHERE name RLIKE '[MD]';
|
|
+---+----+----+
|
|
| id|name| age|
|
|
+---+----+----+
|
|
|300|Mike| 80|
|
|
|400| Dan| 50|
|
|
|200|Mary|null|
|
|
+---+----+----+
|
|
|
|
SELECT * FROM person WHERE name LIKE '%\_%';
|
|
+---+------+---+
|
|
| id| name|age|
|
|
+---+------+---+
|
|
|500|Evan_W| 16|
|
|
+---+------+---+
|
|
|
|
SELECT * FROM person WHERE name LIKE '%$_%' ESCAPE '$';
|
|
+---+------+---+
|
|
| id| name|age|
|
|
+---+------+---+
|
|
|500|Evan_W| 16|
|
|
+---+------+---+
|
|
{% endhighlight %}
|
|
|
|
### Related Statements
|
|
|
|
* [SELECT](sql-ref-syntax-qry-select.html)
|
|
* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
|