原因: 执行SQL失败

romeolion青铜四 显示全部楼层 发表于 2024-3-28 15:08:04 |阅读模式 打印 上一主题 下一主题
1
已解决

原因: 执行SQL失败

301 10
前提描述:
1、转换为日期列的格式是正确的: yyyy-MM-dd格式(和原始列格式一样)
2、计算列的公式是正确的:col['日期列更新时间'-col['日期列创建时间'
3、数据集也是正确的: 直接打开的新数据集
4、新建的'日期列更新时间'和'日期列创建时间'都是通过数据详情中新增的计算列的方法来操作,也是正确的。


问: 上述一新增“新建计算列”确定退出,就遇到出错——原因: 执行SQL失败:“VooltDB exception, code: 43, host: 127.0.0.1, port: 8749; Code: 43. DB::Exception: Illegal types Date32 and Date32 of arguments of function minus: (ILLEGAL_TYPE_OF_ARGUMENT) (version 22.8.5.3)。 请问如何解决?

最佳答案

永洪vip
yhdata_lyaa 关注Ta

2024-03-28 15:08:05

dateGap(col['A'],col['B'],"dayofyear");
查看完整内容
回复

使用道具 举报

精彩评论10

yhdata_lyaa 显示全部楼层 发表于 2024-3-28 15:08:05
dateGap(col['A'],col['B'],"dayofyear");
回复

使用道具 举报

romeolion青铜四 显示全部楼层 发表于 2024-3-28 15:11:59
错误代码:110099999
回复

使用道具 举报

romeolion青铜四 显示全部楼层 发表于 2024-3-28 15:19:53
错误代码:130000218
数据集: '商机管理-20240308源数据导出V320240328151711-1181'   执行用户: 'admin'
异常: 数据集: '商机管理-20240308源数据导出V320240328151711-1181'   执行用户: 'admin'
原因: 执行SQL失败:“VooltDB exception, code: 43, host: 127.0.0.1, port: 8749; Code: 43. DB::Exception: Illegal types Date32 and Date32 of arguments of function minus: While processing id, `标题`, `客户公司`, `发掘时间`, `创建人`, `创建时间`, `更新人`, `更新时间`,, `日期列更新时间`, `日期列创建时间`, `日期列更新时间` - `日期列创建时间`. (ILLEGAL_TYPE_OF_ARGUMENT) (version 22.8.5.3)

        at g5.thread.ThreadUtil.getExceptionWarningEx(ThreadUtil.java:167)
        at g5.qry.queryPool.QueryRunnable.run(QueryRunnable.java:87)
        at g5.thread.ThreadPoolWithChecker$GThread.run0(ThreadPoolWithChecker.java:223)
        at g5.thread.AbsThreadPool$PThread.run(AbsThreadPool.java:325)
回复

使用道具 举报

romeolion青铜四 显示全部楼层 发表于 2024-3-28 15:20:27
数据集执行失败或者权限异常,数据无法正常显示。
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-3-28 15:24:02
col['日期列更新时间'-col['日期列创建时间'  两个列都是什么格式呢,分别是怎么计算来的,都是转为日期列吗
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-3-28 15:24:34
解释:

这个错误信息表明在使用一个函数(在这个例子中是minus)时,尝试对两个类型为Date32的参数进行操作,但是这个函数不支持这两种类型的参数直接相减。Date32是Apache Arrow中用于表示32位日期(自1970年1月1日以来的天数)的数据类型。

解决方法:

确认你的操作是否确实需要对两个Date32类型的数据进行相减。如果是这样,你可能需要将其中一个或两个值转换为一个更通用的时间表示形式,比如Date64(自1970年1月1日以来的毫秒数)或者Timestamp。

如果你的操作是为了计算时间间隔,考虑使用其他函数或方法来计算时间差,例如计算两个时间点之间的毫秒数或秒数,然后进行减法操作。

如果你正在使用的是某个特定的库或框架,查看该框架的文档,了解如何正确地进行日期和时间操作。

具体的解决方案将取决于你的具体使用场景和需求。
回复

使用道具 举报

romeolion青铜四 显示全部楼层 发表于 2024-3-28 16:07:41
yhdata_lyaa 发表于 2024-3-28 15:24
col['日期列更新时间'-col['日期列创建时间'  两个列都是什么格式呢,分别是怎么计算来的,都是转为日期列 ...

col['日期列更新时间'-col['日期列创建时间'  —— 从元数据那里查看,数据类型都同为:日期时间。
回复

使用道具 举报

romeolion青铜四 显示全部楼层 发表于 2024-3-28 16:16:16
yhdata_lyaa 发表于 2024-3-28 15:24
解释:

这个错误信息表明在使用一个函数(在这个例子中是minus)时,尝试对两个类型为Date32的参数进行操 ...

谢谢您的快速回复。是的,我需要计算col['日期列更新时间'-col['日期列创建时间' 之间相关的天数, 比如 2024-03-28和 2024-03-20 之间是用了多少天,计算出来。

如果这个函数不对,请问应该使用的计算列,函数应该怎么表达呢?
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-3-28 16:37:07
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部