当我发布代码时
select as_of_date from myview
我得到以下日期格式yyyyMMdd
但是当我发出以下代码时-在同一个字段上,我得到的日期格式是yyyy-MM-dd。但是,我希望使用与上述select语句相同的格式,即yyyyMMDD
select as_of_date from myview
where as_of_date = last_day(add_months(current_date(),-1)
有人能告诉我如何保留日期格式,即。yyyyMMdd?
我还在PySpark中尝试了以下操作
%python
df = spark.sql("select as_of_date from myview where date_format(as_of_date, 'yyyyMMdd') = date_format(last_day(add_months(current_date(), -1)), 'yyyyMMdd')")
但还是得到yyyy-MM-dd
有什么想法吗
一位成员提出了一个很好的观点。as_of_date是一个字符串(我没有意识到)
我尝试了以下代码,但仍然得到yyyy-MM-dd
1条答案
按热度按时间pdtvr36n1#
使用下面的查询时,获取日期格式yyyy-DD-mm的原因
因为current_date是一个SQL Date函数。如下图所示。x1c 0d1x为了将“as_of_date”列转换为所需的格式,我尝试了以下两种方法
**第一种方法:**我使用了Date_format,date_format函数用于将日期或时间戳值格式化为特定的字符串表示。它允许将日期或时间戳转换为所需的输出格式。
第二种方法:在第二种方法中,我使用了date_trunc。它用于将as_of_date列截断为月份级别。目的是将截断的as_of_date值与截断的当前日期减去一个月进行比较。