01 案例简介为脚本赋予「决策」能力基于至轻云平台利用系统函数和变量在脚本中嵌入逻辑判断。案例目标编写一个包含条件判断的SQL脚本。当指定条件成立时执行语句A否则执行语句B。展示如何在ETL作业中实现动态、智能的SQL逻辑。02 操作步骤第一步创建数据源登录 - 资源管理 - 数据源 - 添加数据源创建数据源是构建JDBC查询作业的基础使用状态为可用的数据库。第二步创建JDBC查询作业登录 - 数据开发 - 作业流 - 添加作业流 - 添加作业选择JDBC查询作业类型并关联上一步创建好的数据源。第三步编写带有逻辑判断的SQL脚本点击作业 - 编辑脚本这里我们使用if_then函数作为逻辑判断的核心。下面的脚本演示了如何根据当前时间与明天的比较来决定执行哪个SQL语句。#[[--if条件如果条件为真执行第一个SQL否则执行第二个SQLif_then(-- 条件部分判断当前时间是否在明天之后恒为False用于演示date_after(now(),add_day(now(),1)),-- 条件为True时执行的SQL查询明天此刻的时间字符串concat(select, \,date_to_str(add_day(now(),1),YYYY-MM-dd hh:mm:ss),\),-- 条件为False时执行的SQL查询当前的月份系统变量concat(select, \,${qing.current_month},\))]]第四步运行并查看结果保存作业 - 点击运行由于date_after(now(), add_day(now(),1))条件永远为假您将看到作业返回的是当前的月份而非明天的日期从而验证了逻辑判断的生效。✅ 操作完成 03 功能说明系统函数一览系统函数返回类型说明now()Date获取当前系统时间add_day(Date date, int days)Date对日期进行加减天数操作add_month(Date date, int months)Date对日期进行加减月数操作date_to_str(Date date, String format)String按指定格式将日期转为字符串if_then(Boolean isTrue, String sql1, String sql2)String三元运算符根据条件返回不同SQL片段date_before(Date date1, Date date2)Boolean判断date1是否在date2之前date_after(Date date1, Date date2)Boolean判断date1是否在date2之后concat(Object... args)String拼接多个对象为字符串系统函数使用示例获取当前时间加一天并格式化为指定字符串。注意函数支持嵌套调用但所有逻辑需写在#[[ ... ]]代码块内。select#[[ date_to_str(add_day(now(),1),YYYY-MM-dd hh:mm:ss) ]]系统变量一览系统变量以${qing.xxx}的形式提供用于获取任务运行时的上下文信息。系统变量返回类型说明与示例${qing.current_date}字符串当前日期格式yyyy-MM-dd(如 2024-12-12)${qing.current_year}字符串当前年份格式yyyy(如 2024)${qing.current_month}字符串当前月份格式MM(如 12)${qing.current_date1}字符串当前日期紧凑格式yyyyMMdd(如 20241212)系统变量使用示例在SQL中直接引用系统变量。注意返回的系统变量均为字符串类型。select${qing.current_date}变量与函数混合使用平台解析顺序为先解析系统变量再执行系统函数。这意味着您可以在函数参数中引用变量实现更灵活的配置。04 更多定制与扩展至轻云平台支持高度定制化以满足您更复杂的业务场景AI 集成系统变量集成AIAI模型可动态生成变量值供SQL使用。系统函数集成AI创建AI函数直接在SQL中调用AI能力如文本分析、预测。可视化增强系统变量可视化编辑通过UI界面配置和管理变量无需手动编写。系统函数可视化编辑拖拽式构建函数逻辑降低使用门槛。