[GitHub] [spark] huaxingao commented on a change in pull request #28332: [SPARK-31556][SQL][DOCS] Document LIKE clause in SQL Reference

2020-04-25 Thread GitBox


huaxingao commented on a change in pull request #28332:
URL: https://github.com/apache/spark/pull/28332#discussion_r415173038



##
File path: docs/sql-ref-syntax-qry-select-like.md
##
@@ -0,0 +1,120 @@
+---
+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
+
+
+  search_pattern
+  
+Specifies a string pattern to be searched by the LIKE clause. 
It can contain special pattern-matching characters:
+
+  % matches zero or more characters.
+  _ matches exactly one character.
+
+  
+
+
+  esc_char
+  
+Specifies the escape character. The default escape character is 
\.
+  
+
+
+  regex_pattern
+  
+Specifies a regular expression search pattern to be searched by the 
RLIKE clause.
+  
+
+
+### 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 '%\_%';

Review comment:
   I am not sure to put ```%\_%``` or ```%\\_%```
   spark-sql takes one `\`
   while spark shell requires two `\`
   ```
   scala> sql("SELECT * FROM person WHERE name LIKE '%\_%'").show()
   :1: error: invalid escape character
  sql("SELECT * FROM person WHERE name LIKE '%\_%'").show()
   ^
   
   ```
   





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



-
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org



[GitHub] [spark] huaxingao commented on a change in pull request #28332: [SPARK-31556][SQL][DOCS] Document LIKE clause in SQL Reference

2020-04-25 Thread GitBox


huaxingao commented on a change in pull request #28332:
URL: https://github.com/apache/spark/pull/28332#discussion_r415166246



##
File path: docs/sql-ref-syntax-qry-select-like.md
##
@@ -0,0 +1,113 @@
+---
+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
+
+
+  search_pattern
+  
+Specifies a string pattern to be searched by the LIKE clause. 
It can contain special pattern-matching characters:
+
+  % matches zero or more characters.
+  _ matches exactly one character.
+
+  
+
+
+  esc_char
+  
+Specifies the escape character.
+  
+
+
+  regex_pattern
+  
+Specifies a regular expression search pattern to be searched by the 
RLIKE clause.
+  
+
+
+### 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 '%$_%' 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)

Review comment:
   LIKE ALL and LIKE ANY can be added to this page too later. I don't want 
to include these two now because this PR is for 3.0.
   





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



-
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org



[GitHub] [spark] huaxingao commented on a change in pull request #28332: [SPARK-31556][SQL][DOCS] Document LIKE clause in SQL Reference

2020-04-25 Thread GitBox


huaxingao commented on a change in pull request #28332:
URL: https://github.com/apache/spark/pull/28332#discussion_r415165624



##
File path: docs/sql-ref-syntax-qry-select-like.md
##
@@ -0,0 +1,113 @@
+---
+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
+
+
+  search_pattern
+  
+Specifies a string pattern to be searched by the LIKE clause. 
It can contain special pattern-matching characters:
+
+  % matches zero or more characters.
+  _ matches exactly one character.
+
+  
+
+
+  esc_char
+  
+Specifies the escape character.
+  
+
+
+  regex_pattern
+  
+Specifies a regular expression search pattern to be searched by the 
RLIKE clause.
+  
+
+
+### 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 '%$_%' 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)

Review comment:
   https://docs.oracle.com/cd/B13789_01/server.101/b10759/conditions016.htm
   https://docs.snowflake.com/en/sql-reference/functions/like.html





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



-
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org



[GitHub] [spark] huaxingao commented on a change in pull request #28332: [SPARK-31556][SQL][DOCS] Document LIKE clause in SQL Reference

2020-04-25 Thread GitBox


huaxingao commented on a change in pull request #28332:
URL: https://github.com/apache/spark/pull/28332#discussion_r415162543



##
File path: docs/sql-ref-syntax-qry-select-like.md
##
@@ -0,0 +1,113 @@
+---
+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
+
+
+  search_pattern
+  
+Specifies a string pattern to be searched by the LIKE clause. 
It can contain special pattern-matching characters:
+
+  % matches zero or more characters.
+  _ matches exactly one character.
+
+  
+
+
+  esc_char
+  
+Specifies the escape character.
+  
+
+
+  regex_pattern
+  
+Specifies a regular expression search pattern to be searched by the 
RLIKE clause.
+  
+
+
+### 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 '%$_%' 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)

Review comment:
   I separated the LIKE predicate from the WHERE clause page. It seems 
better to me this way. It's also easier to add LIKE ANY and LIKE ALL later. 





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



-
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org