请教一下,我用这个sql,预览报错无效字符,这个正则表达式可以改成别的吗?

SELECT          payabledate 应付日期,       paydate 支付日期,       TO_DATE(paydate, 'YYYY-MM-DD') - TO_DATE(payabledate, 'YYYY-MM-DD') AS 账期天数FROM 某个有这些日期字段的表名 WHERE REGEXP_LIKE(payabledate, '^\d{4}-\d{2}-\d{2}$') -- 确保 payabledate 是有效日期  AND REGEXP_LIKE(paydate, '^\d{4}-\d{2}-\d{2}$');    -- 确保 paydete 是有效日期

FineBI HmjijsbZ 发布于 2025-3-25 14:09
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
shirokoLv6资深互助
发布于2025-3-25 14:12(编辑于 2025-3-25 14:13)

斜杠需要用双斜杠转义

SELECT 

    payabledate AS 应付日期,

    paydate AS 支付日期,

    TO_DATE(paydate, 'YYYY-MM-DD') - TO_DATE(payabledate, 'YYYY-MM-DD') AS 账期天数

FROM 某个有这些日期字段的表名 

WHERE REGEXP_LIKE(payabledate, '^\\d{4}-\\d{2}-\\d{2}$') -- 确保 payabledate 是有效日期

AND REGEXP_LIKE(paydate, '^\\d{4}-\\d{2}-\\d{2}$');    -- 确保 paydate 是有效日期

  • HmjijsbZ HmjijsbZ(提问者) 转义了也还是不行,有没有其他方案啊。老师
    2025-03-25 14:17 
  • shiroko shiroko 回复 HmjijsbZ(提问者) 我看了下应该不需要改双斜杠,应该是你放在bi预览还写了最后那个分号吧,不要分号
    2025-03-25 14:33 
最佳回答
0
华莉星宸Lv7资深互助
发布于2025-3-25 14:32

你的这个写法是OK的啊

确保payabledate和paydate是文本类型字段

---------------

你在什么地方预览报错了啊?

  • 3关注人数
  • 31浏览人数
  • 最后回答于:2025-3-25 14:32
    请选择关闭问题的原因
    确定 取消
    返回顶部