# DataQL and Dataway DataQL(Data Query Language)是一门数据查询与转换语言。脚本通过变量、表达式和函数组织计算,用对象、列表及转换模板生成结果。SQL 执行器负责查询数据库,内置函数库提供可导入的数据处理函数;应用可以扩展这两类能力。 - [第一个脚本](https://www.dataql.net/docs/dataql/tutorial/first-query):从返回一个值开始,逐步完成计算和列表转换。 - [语言基础](https://www.dataql.net/docs/dataql/syntax/lexical):学习书写规则、类型、变量和运算符。 - [流程与函数](https://www.dataql.net/docs/dataql/syntax/flow):编写分支、函数、导入和代码片段。 - [数据访问与转换](https://www.dataql.net/docs/dataql/syntax/data):读取参数、访问嵌套数据并组织结果。 - [执行选项](https://www.dataql.net/docs/dataql/hints/hint_core):查阅索引越界和数值精度等 Hint。 - [SQL 执行器](https://www.dataql.net/docs/dataql/sql/execute):使用 SQL 查询、动态规则、分页和事务。 - [内置函数库](https://www.dataql.net/docs/dataql/funx/string):查阅字符串、集合、日期、JSON 等函数。 脚本可在 [Dataway 控制台](https://www.dataql.net/docs/dataway/intro/quickstart)中运行,也可由应用[独立使用 DataQL 引擎](https://www.dataql.net/docs/dataway/dataql-engine/execute)执行。 使用指南版本:5.0.0。使用时先核对项目依赖版本,再参考对应指南与版本说明。 ## DataQL 语言 - [7. 内置函数库](https://www.dataql.net/docs/dataql/funx) - [7.7 编码与摘要函数](https://www.dataql.net/docs/dataql/funx/codec) - [7.2 集合函数](https://www.dataql.net/docs/dataql/funx/collect) - [7.6 类型转换函数](https://www.dataql.net/docs/dataql/funx/convert) - [7.4 时间与日期函数](https://www.dataql.net/docs/dataql/funx/datetime) - [7.5 JSON 函数](https://www.dataql.net/docs/dataql/funx/json) - [7.3 数值函数](https://www.dataql.net/docs/dataql/funx/number) - [7.8 状态函数](https://www.dataql.net/docs/dataql/funx/state) - [7.1 字符串函数](https://www.dataql.net/docs/dataql/funx/string) - [7.10 事务函数](https://www.dataql.net/docs/dataql/funx/transactions) - [7.9 Web 函数](https://www.dataql.net/docs/dataql/funx/web) - [5. 执行选项](https://www.dataql.net/docs/dataql/hints) - [5.1 引擎 Hint](https://www.dataql.net/docs/dataql/hints/hint_core) - [6.10 SQL Hint](https://www.dataql.net/docs/dataql/hints/hint_sql) - [1. 语言入门](https://www.dataql.net/docs/dataql/overview) - [6. SQL 执行器](https://www.dataql.net/docs/dataql/sql) - [6.6 分页与方言](https://www.dataql.net/docs/dataql/sql/dialect) - [6.1 SQL 执行](https://www.dataql.net/docs/dataql/sql/execute) - [6.4 XML 动态 SQL](https://www.dataql.net/docs/dataql/sql/MyBatis) - [6.2.6 参数符号转义](https://www.dataql.net/docs/dataql/sql/parameter-escape) - [6.2.5 参数选项](https://www.dataql.net/docs/dataql/sql/parameter-options) - [6.2 参数绑定](https://www.dataql.net/docs/dataql/sql/parameters) - [6.2.3 SQL 文本替换](https://www.dataql.net/docs/dataql/sql/parameters/injection) - [6.2.2 名称参数](https://www.dataql.net/docs/dataql/sql/parameters/named) - [6.2.1 位置参数](https://www.dataql.net/docs/dataql/sql/parameters/position) - [6.2.4 规则传参](https://www.dataql.net/docs/dataql/sql/parameters/rule-binding) - [6.9 存储过程与多结果](https://www.dataql.net/docs/dataql/sql/procedures) - [6.5 结果与主键](https://www.dataql.net/docs/dataql/sql/results) - [6.3 动态规则](https://www.dataql.net/docs/dataql/sql/rules) - [6.3.2 规则嵌套](https://www.dataql.net/docs/dataql/sql/rules/nesting) - [6.3.1 语句生成规则](https://www.dataql.net/docs/dataql/sql/rules/statements) - [6.8 事务](https://www.dataql.net/docs/dataql/sql/transactions) - [6.7 类型处理](https://www.dataql.net/docs/dataql/sql/types) - [6.7.5 数组类型处理器](https://www.dataql.net/docs/dataql/sql/types/arrays) - [6.7.2 基础类型处理器](https://www.dataql.net/docs/dataql/sql/types/basic) - [6.7.4 流与二进制](https://www.dataql.net/docs/dataql/sql/types/binary) - [6.7.3 JSON 序列化处理器](https://www.dataql.net/docs/dataql/sql/types/json) - [6.7.1 Java/JDBC 类型关系](https://www.dataql.net/docs/dataql/sql/types/mappings) - [6.7.6 向量类型处理器](https://www.dataql.net/docs/dataql/sql/types/vectors) - [2. 语言基础](https://www.dataql.net/docs/dataql/syntax) - [4. 数据访问与转换](https://www.dataql.net/docs/dataql/syntax/data) - [2.5 表达式与运算符](https://www.dataql.net/docs/dataql/syntax/expression) - [3. 流程与函数](https://www.dataql.net/docs/dataql/syntax/flow) - [3.4 代码片段](https://www.dataql.net/docs/dataql/syntax/fragment) - [3.2 函数](https://www.dataql.net/docs/dataql/syntax/function) - [4.1 字段与下标](https://www.dataql.net/docs/dataql/syntax/getter) - [3.3 导入与复用](https://www.dataql.net/docs/dataql/syntax/imports) - [2.1 词法与书写规则](https://www.dataql.net/docs/dataql/syntax/lexical) - [2.3 数值与精度](https://www.dataql.net/docs/dataql/syntax/numbers) - [2.4 变量与赋值](https://www.dataql.net/docs/dataql/syntax/setter) - [3.1 控制流程](https://www.dataql.net/docs/dataql/syntax/statements) - [4.3 结果转换](https://www.dataql.net/docs/dataql/syntax/transform) - [2.2 类型与字面量](https://www.dataql.net/docs/dataql/syntax/types) - [4.2 参数与上下文](https://www.dataql.net/docs/dataql/syntax/valuescope) - [1.1 第一个脚本](https://www.dataql.net/docs/dataql/tutorial/first-query) - [1.2 脚本结构](https://www.dataql.net/docs/dataql/tutorial/structure) ## Dataway 框架 - [7. 身份鉴权](https://www.dataql.net/docs/dataway/authorization) - [7.1 身份接入](https://www.dataql.net/docs/dataway/authorization/identity) - [7.2 权限检查](https://www.dataql.net/docs/dataway/authorization/permissions) - [5. 核心能力](https://www.dataql.net/docs/dataway/capabilities) - [5.1 API 管理](https://www.dataql.net/docs/dataway/capabilities/api-management) - [5.5 数据源接入](https://www.dataql.net/docs/dataway/capabilities/datasources) - [5.2 API 发布](https://www.dataql.net/docs/dataway/capabilities/development) - [5.2.5 Java 调用](https://www.dataql.net/docs/dataway/capabilities/development/java) - [5.2.4 API 选项](https://www.dataql.net/docs/dataway/capabilities/development/options) - [5.2.2 请求参数](https://www.dataql.net/docs/dataway/capabilities/development/request) - [5.2.3 结果响应](https://www.dataql.net/docs/dataway/capabilities/development/response) - [5.2.1 脚本支持](https://www.dataql.net/docs/dataway/capabilities/development/script) - [5.4 文档生成](https://www.dataql.net/docs/dataway/capabilities/document) - [5.1.1 可视化操作](https://www.dataql.net/docs/dataway/capabilities/management) - [5.1.2 程序化管理](https://www.dataql.net/docs/dataway/capabilities/programmatic) - [5.3 结果处理器](https://www.dataql.net/docs/dataway/capabilities/result-handlers) - [5.3.3 CSV](https://www.dataql.net/docs/dataway/capabilities/result-handlers/csv) - [5.3.6 自定义结果处理器](https://www.dataql.net/docs/dataway/capabilities/result-handlers/custom) - [5.3.2 Raw Value](https://www.dataql.net/docs/dataway/capabilities/result-handlers/raw) - [5.3.1 Structure](https://www.dataql.net/docs/dataway/capabilities/result-handlers/structure) - [5.3.4 Text](https://www.dataql.net/docs/dataway/capabilities/result-handlers/text) - [5.3.5 VerifyCode](https://www.dataql.net/docs/dataway/capabilities/result-handlers/verify-code) - [10. 框架配置](https://www.dataql.net/docs/dataway/configuration) - [10.2 管理拦截器](https://www.dataql.net/docs/dataway/configuration/admin-interceptors) - [10.3 API 拦截器](https://www.dataql.net/docs/dataway/configuration/api-interceptors) - [10.4 控制台部署](https://www.dataql.net/docs/dataway/configuration/console) - [10.1 DatawayConfig](https://www.dataql.net/docs/dataway/configuration/core) - [8. DataQL 引擎](https://www.dataql.net/docs/dataway/dataql-engine) - [8.3 核心接口](https://www.dataql.net/docs/dataway/dataql-engine/core) - [8.1 独立使用](https://www.dataql.net/docs/dataway/dataql-engine/execute) - [8.6 QIL 指令参考](https://www.dataql.net/docs/dataway/dataql-engine/instruction) - [8.5 JSR-223](https://www.dataql.net/docs/dataway/dataql-engine/jsr223) - [8.2 数据模型](https://www.dataql.net/docs/dataway/dataql-engine/model) - [8.4 SQL 执行器](https://www.dataql.net/docs/dataway/dataql-engine/sql) - [9. 引擎扩展](https://www.dataql.net/docs/dataway/engine) - [9.7 引擎与查询配置](https://www.dataql.net/docs/dataway/engine/customizers) - [9.5 查找器](https://www.dataql.net/docs/dataway/engine/finder) - [9.4 片段执行器](https://www.dataql.net/docs/dataway/engine/fragments) - [9.1 自定义函数](https://www.dataql.net/docs/dataway/engine/functions) - [9.3 应用对象导入](https://www.dataql.net/docs/dataway/engine/imports) - [9.2 函数库](https://www.dataql.net/docs/dataway/engine/libraries) - [9.6 自定义作用域](https://www.dataql.net/docs/dataway/engine/scope) - [9.12 SQL 方言](https://www.dataql.net/docs/dataway/engine/sql-dialects) - [9.8 SQL 拦截器](https://www.dataql.net/docs/dataway/engine/sql-interceptors) - [9.9 SQL 片段](https://www.dataql.net/docs/dataway/engine/sql-macros) - [9.10 SQL 规则](https://www.dataql.net/docs/dataway/engine/sql-rules) - [9.11 SQL 类型处理器](https://www.dataql.net/docs/dataway/engine/sql-types) - [3. 框架整合](https://www.dataql.net/docs/dataway/integration) - [3.3 Hasor 整合](https://www.dataql.net/docs/dataway/integration/hasor) - [3.2 Solon 整合](https://www.dataql.net/docs/dataway/integration/solon) - [3.1 Spring 整合](https://www.dataql.net/docs/dataway/integration/spring) - [1. 介绍](https://www.dataql.net/docs/dataway/intro/overview) - [2. 快速开始](https://www.dataql.net/docs/dataway/intro/quickstart) - [6. 元数据存储](https://www.dataql.net/docs/dataway/metadata) - [6.1 表与字段映射](https://www.dataql.net/docs/dataway/metadata/mapping) - [6.3 提供者](https://www.dataql.net/docs/dataway/metadata/providers) - [6.3.3 自定义提供者](https://www.dataql.net/docs/dataway/metadata/providers/custom) - [6.3.1 数据库提供者](https://www.dataql.net/docs/dataway/metadata/providers/jdbc) - [6.3.2 Nacos 提供者](https://www.dataql.net/docs/dataway/metadata/providers/nacos) - [6.2 事务整合](https://www.dataql.net/docs/dataway/metadata/transactions) - [4. 工作原理](https://www.dataql.net/docs/dataway/principles) ## Optional ### 版本说明 - [v3.2.0 (2017-10-15)](https://www.dataql.net/docs/releases/3.2.x/v3.2.0) - [v3.2.1 (2017-10-17)](https://www.dataql.net/docs/releases/3.2.x/v3.2.1) - [v3.2.2 (2018-01-02)](https://www.dataql.net/docs/releases/3.2.x/v3.2.2) - [v4.1.0 (2020-02-03)](https://www.dataql.net/docs/releases/4.1.x/v4.1.0) - [v4.1.1 (2020-02-22)](https://www.dataql.net/docs/releases/4.1.x/v4.1.1) - [v4.1.10 (2020-07-06)](https://www.dataql.net/docs/releases/4.1.x/v4.1.10) - [v4.1.11 (2020-07-07)](https://www.dataql.net/docs/releases/4.1.x/v4.1.11) - [v4.1.12 (2020-07-22)](https://www.dataql.net/docs/releases/4.1.x/v4.1.12) - [v4.1.13 (2020-07-23)](https://www.dataql.net/docs/releases/4.1.x/v4.1.13) - [v4.1.2 (2020-03-04)](https://www.dataql.net/docs/releases/4.1.x/v4.1.2) - [v4.1.3 (2020-04-13)](https://www.dataql.net/docs/releases/4.1.x/v4.1.3) - [v4.1.4 (2020-04-30)](https://www.dataql.net/docs/releases/4.1.x/v4.1.4) - [v4.1.5 (2020-05-09)](https://www.dataql.net/docs/releases/4.1.x/v4.1.5) - [v4.1.6 (2020-05-10)](https://www.dataql.net/docs/releases/4.1.x/v4.1.6) - [v4.1.7 (2020-05-18)](https://www.dataql.net/docs/releases/4.1.x/v4.1.7) - [v4.1.8 (2020-05-28)](https://www.dataql.net/docs/releases/4.1.x/v4.1.8) - [v4.1.9 (2020-06-29)](https://www.dataql.net/docs/releases/4.1.x/v4.1.9) - [v4.2.0 (2020-09-22)](https://www.dataql.net/docs/releases/4.2.x/v4.2.0) - [v4.2.1 (2020-10-16)](https://www.dataql.net/docs/releases/4.2.x/v4.2.1) - [v4.2.2 (2021-01-20)](https://www.dataql.net/docs/releases/4.2.x/v4.2.2) - [v4.2.3 (2021-02-26)](https://www.dataql.net/docs/releases/4.2.x/v4.2.3) - [v4.2.4 (2021-03-17)](https://www.dataql.net/docs/releases/4.2.x/v4.2.4) - [v4.2.5 (2021-03-31)](https://www.dataql.net/docs/releases/4.2.x/v4.2.5) - [v5.0.0(待发布)](https://www.dataql.net/docs/releases/5.0.x/v5.0.0) - [v5.0.1(开发中)](https://www.dataql.net/docs/releases/5.0.x/v5.0.1) - [版本说明](https://www.dataql.net/docs/releases/latest) ### 博客 - [把父子关系表转换为树形数据](https://www.dataql.net/blog/dataql-build-tree) - [用 DataQL 为数据集排序并生成名次](https://www.dataql.net/blog/dataql-dataset-ranking) - [递归展开多层数值数组](https://www.dataql.net/blog/dataql-dim-reduction) - [按公共字段把列表分成多个集合](https://www.dataql.net/blog/dataql-group-by) - [关联两个数据集并计算同比增长](https://www.dataql.net/blog/dataql-left-join) - [用递归遍历列表并追加序号](https://www.dataql.net/blog/dataql-like-for) - [按指定字段完成数据集行列转换](https://www.dataql.net/blog/dataql-row-to-col) - [用 DataQL 转换树节点,保留层级关系](https://www.dataql.net/blog/dataql-tree-to-tree) - [Dataway header 传参](https://www.dataql.net/blog/dataway-headers) - [新版 Dataway:架构、接口与数据迁移指南](https://www.dataql.net/blog/dataway-migration) - [通过 Dataway 配置一个带有分页查询的接口](https://www.dataql.net/blog/dataway-pagination) - [Dataway 配置数据接口时和前端进行参数对接](https://www.dataql.net/blog/dataway-parameters) - [完美兼容老项目!Dataway 返回结构的全面控制](https://www.dataql.net/blog/dataway-response-format) - [Dataway 整合 Swagger2,让 API 管理更顺畅](https://www.dataql.net/blog/dataway-swagger2) - [让 Spring Boot 不再需要 Controller、Service、DAO、Mapper](https://www.dataql.net/blog/whydataway)