Partager via


try_make_interval

Il s’agit d’une version spéciale qui make_interval effectue la même opération, mais retourne une valeur NULL au lieu de déclencher une erreur si l’intervalle ne peut pas être créé.

Syntaxe

from pyspark.databricks.sql import functions as dbf

dbf.try_make_interval(years=<years>, months=<months>, weeks=<weeks>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)

Paramètres

Paramètre Type Descriptif
years pyspark.sql.Column ou str, optional Nombre d’années, positives ou négatives.
months pyspark.sql.Column ou str, optional Nombre de mois, positifs ou négatifs.
weeks pyspark.sql.Column ou str, optional Nombre de semaines, positives ou négatives.
days pyspark.sql.Column ou str, optional Nombre de jours, positifs ou négatifs.
hours pyspark.sql.Column ou str, optional Nombre d’heures, positives ou négatives.
mins pyspark.sql.Column ou str, optional Nombre de minutes, positifs ou négatifs.
secs pyspark.sql.Column ou str, optional Nombre de secondes avec la partie fractionnaire en microseconde précision.

Retours

pyspark.sql.Column: nouvelle colonne qui contient un intervalle.

Examples

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(
dbf.try_make_interval(df.year, df.month, 'week', df.day, 'hour', df.min, df.sec)
).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(
dbf.try_make_interval(df.year, df.month, 'week', df.day, df.hour, df.min)
).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(
dbf.try_make_interval(df.year, df.month, 'week', df.day, df.hour)
).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year, 'month', df.week, df.day)).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year, 'month', df.week)).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year, 'month')).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year)).show(truncate=False)
spark.range(1).select(dbf.try_make_interval()).show(truncate=False)
spark.range(1).select(dbf.try_make_interval(dbf.lit(2147483647))).show(truncate=False)