将字符串日期转换为 pyspark 中的日期格式 SQL

Convert string date to date format in pyspark SQL

我在 table 中有一个日期列,其中是字符串格式 我需要将这个字符串日期转换成日期类型格式

这是我的日期栏的样子

+----------+
|      date|
+----------+
|2018_07   |
+----------+

我需要将此日期转换为日期格式而不是字符串格式的所需格式

+----------+
|      Date|
+----------+
|2018-07-01|
+----------+

我正在尝试使用它,但它在日期列下给了我空值

%sql
SELECT Col1,Col2,Col3,Col4, 
TO_DATE(
      CAST(
        UNIX_TIMESTAMP(date, 'yyyy-MM-01') AS TIMESTAMP
      )
    ) as Date 
,sales
FROM db.table

感谢任何形式的帮助

我简化了你的代码,现在它可以正常工作了(刚刚测试过):-)

%sql
SELECT 
  Col1,
  Col2,
  Col3,
  Col4,
  TO_DATE(TRIM(date), 'yyyy_MM') AS DATE,
  sales
FROM 
  db.table