當 str 為 String 類型時,子串從 pos 開始,長度為 len ;當 str 為二元型時,則回傳以位元組為單位、 pos 長度為 len 的位元組陣列切片。
這個位置不是以零為基礎,而是以一為基礎的指數。
關於對應的 Databricks SQL 函式,請參見 substring 函數。
語法
from pyspark.databricks.sql import functions as dbf
dbf.substring(str=<str>, pos=<pos>, len=<len>)
參數
| 參數 | 類型 | Description |
|---|---|---|
str |
pyspark.sql.Column 或 str |
要處理的目標欄位。 |
pos |
pyspark.sql.Column、str 或 int |
起始位置為力量。 |
len |
pyspark.sql.Column、str 或 int |
字長。 |
退貨
pyspark.sql.Column: 給定值的子串。
範例
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('abcd',)], ['s',])
df.select('*', dbf.substring(df.s, 1, 2)).show()
df = spark.createDataFrame([('Spark', 2, 3)], ['s', 'p', 'l'])
df.select('*', dbf.substring(df.s, 2, df.l)).show()
df.select('*', dbf.substring(df.s, df.p, 3)).show()
df.select('*', dbf.substring(df.s, df.p, df.l)).show()
df = spark.createDataFrame([('Spark', 2, 3)], ['s', 'p', 'l'])
df.select('*', dbf.substring(df.s, 2, 'l')).show()
df.select('*', dbf.substring('s', 'p', 'l')).show()