子字符串从字符串开始 pos , len 当 str 是字符串类型时,或返回以字节开头 pos 的字节数组的切片,当 str 是二进制类型时,子字符串的长度 len 。
位置不是从零开始的,而是基于 1 的索引。
有关相应的 Databricks SQL 函数,请参阅 substring 函数。
Syntax
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 |
str 中的起始位置。 |
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()