簡體   English   中英

spark sql是否區分大小寫?

[英]Is spark sql like case sensitive?

看起來spark sql對“喜歡”的查詢區分大小寫,對嗎?

spark.sql("select distinct status, length(status)  from table")

返回

Active|6

spark.sql("select distinct status  from table where status like '%active%'")

不返回任何值

spark.sql("select distinct status  from table where status like '%Active%'")

返回

 Active

是的,Spark區分大小寫。 對於字符串比較,大多數RDBMS默認區分大小寫。 如果您想要不區分大小寫,請嘗試rlike或將列轉換為大寫/小寫。

scala> val df = Seq(("Active"),("Stable"),("Inactive")).toDF("status")
df: org.apache.spark.sql.DataFrame = [status: string]

scala> df.createOrReplaceTempView("tbl")

scala> df.show
+--------+
|  status|
+--------+
|  Active|
|  Stable|
|Inactive|
+--------+


scala> spark.sql(""" select status from tbl where status like '%Active%' """).show
+------+
|status|
+------+
|Active|
+------+


scala> spark.sql(""" select status from tbl where lower(status) like '%active%' """).show
+--------+
|  status|
+--------+
|  Active|
|Inactive|
+--------+


scala>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM