我有一个名为“filedate”的小部件,您可以在其中指定日期,如果您以‘yyyy’格式输入日期,我的示例将使用'2019-10-01‘。
我从这个小部件中获得了以下值:
val fileloaddate = dbutils.widgets.get("filedate")如果我打印文件处理程序,它显示的是2019-10-01,我需要在查询中使用它,所以如果我执行'select to_timestamp(${ fileloaddate },“yyyy dd”),它会出错,因为它看到变量是‘((2019-8) -18)。如果我将字符串转换为日期,例如
select to_timestamp(to_date(${prundate}), "yyyy-mm-dd")错误的“无法解决”强制转换(2019-8)- 18)为日期)
select to_timestamp(to_date('2019-10-01'), "yyyy-mm-dd")效果很好。我已经搜索了答案,但似乎看不出我做错了什么。
谢谢
发布于 2019-10-12 08:18:05
Azure DataBrick您可以使用getArgument将日期转换为愿望输出
dbutils.widgets.text("x","2018-09-12")
select to_timestamp(to_date(getArgument("x")), "yyyy-mm-dd")希望这对你有帮助
发布于 2021-07-30 18:39:58
如果Scala被禁用,那么您需要使用遗留方法从小部件中检索sql参数。从参数=‘$file’的数据库中选择*
对于sql,我可以将日期作为文本传递。
%sql创建小部件'StartDate‘默认’YYYY DD‘(这只是提醒用户以sql查询可以使用的格式输入日期的文本)
在“my_table”和“$StartDate”和“$EndDate”之间选择*
https://docs.databricks.com/notebooks/widgets.html#legacy-input https://docs.databricks.com/notebooks/widgets.html
https://stackoverflow.com/questions/58320828
复制相似问题