Pular para o conteúdo principal

entre

Verifique se o valor da coluna está entre os limites inferior e superior (inclusive).

Sintaxe

Python
between(lowerBound, upperBound)

Parâmetros

Parâmetro

Tipo

Descrição

lowerBound

valor ou coluna

Valor limite inferior

upperBound

valor ou coluna

Valor limite superior

Parâmetro

Tipo

Descrição

lowerBound

valor ou coluna

Valor limite inferior

upperBound

valor ou coluna

Valor limite superior

Devoluções

Coluna (Booleana)

Exemplos

Utilizando o operador "entre" com valores inteiros:

Python
df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], ["age", "name"])
df.select(df.name, df.age.between(2, 4)).show()
Output
# +-----+---------------------------+
# | name|((age >= 2) AND (age <= 4))|
# +-----+---------------------------+
# |Alice| true|
# | Bob| false|
# +-----+---------------------------+

Utilizando o operador "entre" com valores de string:

Python
df = spark.createDataFrame([("Alice", "A"), ("Bob", "B")], ["name", "initial"])
df.select(df.name, df.initial.between("A", "B")).show()
Output
# +-----+-----------------------------------+
# | name|((initial >= A) AND (initial <= B))|
# +-----+-----------------------------------+
# |Alice| true|
# | Bob| true|
# +-----+-----------------------------------+

Utilizando o operador "entre" com valores de ponto flutuante:

Python
df = spark.createDataFrame(
[(2.5, "Alice"), (5.5, "Bob")], ["height", "name"])
df.select(df.name, df.height.between(2.0, 5.0)).show()
Output
# +-----+-------------------------------------+
# | name|((height >= 2.0) AND (height <= 5.0))|
# +-----+-------------------------------------+
# |Alice| true|
# | Bob| false|
# +-----+-------------------------------------+

Utilizando o operador "entre" com valores de data:

Python
import pyspark.sql.functions as sf
df = spark.createDataFrame(
[("Alice", "2023-01-01"), ("Bob", "2023-02-01")], ["name", "date"])
df = df.withColumn("date", sf.to_date(df.date))
df.select(df.name, df.date.between("2023-01-01", "2023-01-15")).show()
Output
# +-----+-----------------------------------------------+
# | name|((date >= 2023-01-01) AND (date <= 2023-01-15))|
# +-----+-----------------------------------------------+
# |Alice| true|
# | Bob| false|
# +-----+-----------------------------------------------+

Utilizando o operador `between` com valores de carimbo de data/hora:

Python
import pyspark.sql.functions as sf
df = spark.createDataFrame(
[("Alice", "2023-01-01 10:00:00"), ("Bob", "2023-02-01 10:00:00")],
schema=["name", "timestamp"])
df = df.withColumn("timestamp", sf.to_timestamp(df.timestamp))
df.select(df.name, df.timestamp.between("2023-01-01", "2023-02-01")).show()
Output
# +-----+---------------------------------------------------------+
# | name|((timestamp >= 2023-01-01) AND (timestamp <= 2023-02-01))|
# +-----+---------------------------------------------------------+
# |Alice| true|
# | Bob| false|
# +-----+---------------------------------------------------------+