substring
Scala API中的方法只接受第二个和第三个参数的整数。如果你想传递列,你需要使用
expr
使用Spark SQL API
子字符串
方法:
Seq(("1987.01.01"))
.toDF("Input")
.select(
col("Input"),
to_date(col("Input"), "yyyy.M.d").as("format"),
length(col("Input")),
expr("substring(Input, 1, length(Input) + 0)")
).show()
+----------+----------+-------------+----------------------------------------+
| Input| format|length(Input)|substring(Input, 1, (length(Input) + 0))|
+----------+----------+-------------+----------------------------------------+
|1987.01.01|1987-01-01| 10| 1987.01.01|
+----------+----------+-------------+----------------------------------------+