我有一个时间戳列,其中包含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的官方文档。