I have a string formatted column which I get via:
session.sql("select milestoneactualdate from dba")
This column contans data like "20190101". I want to cast this string to date via:
session.sql("select *, to_date(milestoneactualdate, '%YYYY%MM%DD') as datetest from dba").show()
I also tried:
changedTypedf = df.withColumn("milestoneactualdate", to_date(df["milestoneactualdate"], '%YYYY%MM%DD').cast('Date'))
But it always returns "null". Why is my cast function not working?
Your date format needs to be yyyyMMdd, see Date Format Pattern Syntax.
df = spark.createDataFrame([['20190101']], ['milestoneactualdate'])
df.show()
+-------------------+
|milestoneactualdate|
+-------------------+
| 20190101|
+-------------------+
df.selectExpr('to_date(milestoneactualdate, "yyyyMMdd") as date').show()
+----------+
| date|
+----------+
|2019-01-01|
+----------+
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With