使用时间戳格式获取月周数'2016-11-22 14:35:51'使用 SPARK SQL



我有一个时间戳列,其中包含SPARK SQL中类型为"2016-11-22 14:35:51"的记录。有人会帮我检索给定时间戳格式的周数吗?

我试过了,

选择时间戳,DATE_FORMAT(时间戳,"U")作为table_1周;

但它给出了错误的输出,如,

timestamp  |  WEEK
2016-11-22 |  2

如果有人可以帮助我,请表示感谢。

谢谢。

您使用了错误的文字,您需要使用 W 而不是 u

文字u是指一周中的天数。

scala> sqlContext.sql("select current_timestamp() as time, date_format(current_timestamp,'W') as week").show
// +--------------------+----+
// |                time|week|
// +--------------------+----+
// |2017-01-09 13:46:...|   2|
// +--------------------+----+
scala> sqlContext.sql("select to_date('2017-01-01') as time, date_format(to_date('2017-01-01'),'W') as week").show
// +----------+----+
// |      time|week|
// +----------+----+
// |2017-01-01|   1|
// +----------+----+

如果你有更多的疑问,可以随时参考Java中SimpleDateFormat的官方文档。

相关内容

  • 没有找到相关文章

最新更新