数据库能正常连接,但是sql报错

帆软宕机过,然后 预览sql语句 爆错误.png

FineReport FuzsufER 发布于 7 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于7 天前

你复制语句出来去数据库查询是否有问题?把参数代入

最佳回答
0
ID1208Lv6高级互助
发布于7 天前(编辑于 7 天前

字段类型和参数值格式不一致

一个string,一个date32

image.png

  • FuzsufER FuzsufER(提问者) 很奇怪啊,这个日期字段是查询字段,之前就是这么查的,没有变动过,怎么宕机一次,就提示这个类型不对呢,也没有用这个字段当条件啊,但是我注释掉,确实就不报错了
    2025-06-14 10:26 
  • FuzsufER FuzsufER(提问者) SELECT
    df.purchid 采购订单号,
    df.linenumber 采购行号,
    df.spec 规格,
    snd.costcenter_name 部门,
    snd.salesqty 订单数量,
    df.tablecreatetime 下单日期,
    nd.inventbatchid 批号,
    -- nd.delivery_date 仓储入库日期,
    nd.vend_qty 入库数量,
    snd.salesid 销售订单号,
    snd.linenum 销售行号,
    -- cnd.delivery_date 发货日期,
    cnd.delivery_qty 发货数量
    FROM
    public.dwd_xl_dq_purchline_df df --采购订单
    LEFT JOIN public.dwd_xl_dq_vendpacking_nd nd
    ON df.inventtransid = nd.inventtransid
    --产品收据行
    LEFT JOIN public.dwd_xl_dq_salesline_nd snd ON
    df.purchid || '_' || df.linenumber = snd.salesid
    -- nd.inventbatchid = snd.inventbatchid
    --销售订单
    LEFT JOIN public.dwd_xl_dq_custpacking_nd cnd ON cnd.inventbatchid = nd.inventbatchid
    WHERE 1=1
    and df.tablecreatetime >= '${date}' :: DATE -- 包含输入日期
    AND df.tablecreatetime < '${date}' :: DATE + INTERVAL '1 days'
    AND df.supplieraccount IN ( '041863', '045815' )
    and df.dataareaid = 'dl01'
    and nd.ds = max_pt('dwd_xl_dq_vendpacking_nd')
    and snd.ds = max_pt('public.dwd_xl_dq_salesline_nd')
    and cnd.ds = max_pt('public.dwd_xl_dq_custpacking_nd')
    ${IF( len ( order ) == 0, "", "AND df.purchid =('" + order + "')" )}
    limit 100 这个sql是从外部数据中台获取数据,所以本地也测不了,只能在帆软服务器环境测试,您看下这台sql,为什么上面两个日期有问题呢
    2025-06-14 10:28 
  • ID1208 ID1208 回复 FuzsufER(提问者) 如果注释掉不报错,可能是检索范围内字段值有不符合标准内容,可以换个参数值看看报不报错
    2025-06-14 10:34 
  • 3关注人数
  • 34浏览人数
  • 最后回答于:7 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部