You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "jiaan.geng (Jira)" <ji...@apache.org> on 2020/03/21 03:14:00 UTC
[jira] [Comment Edited] (SPARK-31210) An issue for Spark SQL
LIKE-with-ESCAPE clause
[ https://issues.apache.org/jira/browse/SPARK-31210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17063738#comment-17063738 ]
jiaan.geng edited comment on SPARK-31210 at 3/21/20, 3:13 AM:
--------------------------------------------------------------
You not need use '^' as escaped char.
spark-sql> select '100 times' like '100%';
true
spark-sql> select '1000 times' like '100%';
true
spark-sql> select '100%' like '100%';
true
spark-sql> select '100 times' like '100#%' escape '#';
false
spark-sql> select '100%' like '100#%' escape '#';
true
'%' is a wildcard matches zero or more characters in the input. If an escape character precedes a special symbol or another escape character, the following character is matched literally.
was (Author: beliefer):
You not need use '^' as escaped char.
spark-sql> select '100 times' like '100%';
true
spark-sql> select '1000 times' like '100%';
true
spark-sql> select '100%' like '100%';
true
'%' is a wildcard matches zero or more characters in the input. If an escape character precedes a special symbol or another escape character, the following character is matched literally.
> An issue for Spark SQL LIKE-with-ESCAPE clause
> ----------------------------------------------
>
> Key: SPARK-31210
> URL: https://issues.apache.org/jira/browse/SPARK-31210
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 3.0.0
> Reporter: Mingli Rui
> Priority: Major
>
> I try to use LIKE with ESCAPE for Spark 3.0.0-preview2. But I find in it doesn't work in below cases.
> The database table
> ==============
> create or replace table test_table_like ( subject string)
> insert into $test_table_like values ('100 times'), ('1000 times'), ('100%')
>
> Repro
> ====
> val result2 = sparkSession.sql(
> s"select * from test_table_like where subject like '100^%' escape '^' order by 1")
> "100%" is expected to returned, but it doesn't. I debug into the code to check the logical plan.
> In the logical plan, the LIKE is transformed as "StartsWith(subject#130, 100^)". It looks it is incorrect.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org