如何在SPEKSQL中获取current_date - 1天,与MySQL中的cur_date()-1相同。
current_date - 1
cur_date()-1
yvgpqqbh1#
算术函数允许您对包含日期的列执行算术运算。例如,您可以计算两个日期之间的差值、向日期添加天数或从日期中减去天数。内置日期算术函数包括datediff、date_add、date_sub、add_months、last_day、next_day和months_between。除此之外,我们需要的是DATE_SUB(TIMESTAMP STARTDATE,INT DYS),用途:从时间戳值中减去指定的天数。第一个参数可以是字符串,如果它使用可识别的格式,则会自动转换为时间戳,如时间戳数据类型中所述。返回类型:返回开始前>天的日期而且我们有Current_Timestamp()用途:now()函数的别名。返回类型:时间戳您可以选择
datediff
date_add
date_sub
add_months
last_day
next_day
months_between
date_sub(CAST(current_timestamp() as DATE), 1)
见https://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/sql/functions.html
oxalkeyp2#
你可以试试
date_add(current_date(), -1)
我也不知道Spark,但我在谷歌上找到了。您也可以参考此link
0s0u357o3#
您可以轻松地执行此任务,有许多与日期相关的方法,这里您可以使用的是date_sub
Spark-REPL示例:
scala> spark.sql("select date_sub(current_timestamp(), 1)").show +----------------------------------------------+ |date_sub(CAST(current_timestamp() AS DATE), 1)| +----------------------------------------------+ | 2016-12-12| +----------------------------------------------+
wrrgggsh4#
Spark SQL还支持INTERVAL关键字。您可以使用以下查询获取昨天的日期:
INTERVAL
SELECT current_date - INTERVAL 1 day;
有关更多详细信息,请查看间隔文字文档。我用Spark 3.x测试了上面的语法,但我不确定从哪个版本开始就支持这种语法。
t5zmwmid5#
是的,date_sub()函数是正确的,无论如何,选择的答案中有一个错误:返回类型:时间戳返回类型应该是date,DATE_SUB()函数将修剪时间戳的任何hh:mm:ss部分,并且只返回date。
date_sub()
date
hh:mm:ss
fhity93d6#
SELECT DATE_FORMAT(DATE_ADD(CURRENT_DATE(), -1), 'yyyy-MM-dd')
6条答案
按热度按时间yvgpqqbh1#
算术函数允许您对包含日期的列执行算术运算。
例如,您可以计算两个日期之间的差值、向日期添加天数或从日期中减去天数。内置日期算术函数包括
datediff
、date_add
、date_sub
、add_months
、last_day
、next_day
和months_between
。除此之外,我们需要的是
DATE_SUB(TIMESTAMP STARTDATE,INT DYS),用途:从时间戳值中减去指定的天数。第一个参数可以是字符串,如果它使用可识别的格式,则会自动转换为时间戳,如时间戳数据类型中所述。返回类型:返回开始前>天的日期
而且我们有
Current_Timestamp()用途:now()函数的别名。返回类型:时间戳
您可以选择
见https://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/sql/functions.html
oxalkeyp2#
你可以试试
我也不知道Spark,但我在谷歌上找到了。您也可以参考此link
0s0u357o3#
您可以轻松地执行此任务,有许多与日期相关的方法,这里您可以使用的是
date_sub
Spark-REPL示例:
wrrgggsh4#
Spark SQL还支持
INTERVAL
关键字。您可以使用以下查询获取昨天的日期:有关更多详细信息,请查看间隔文字文档。我用Spark 3.x测试了上面的语法,但我不确定从哪个版本开始就支持这种语法。
t5zmwmid5#
是的,
date_sub()
函数是正确的,无论如何,选择的答案中有一个错误:返回类型:时间戳
返回类型应该是
date
,DATE_SUB()函数将修剪时间戳的任何hh:mm:ss
部分,并且只返回date
。fhity93d6#