内容简介
视频介绍:
概述
“业务视图”技术通过对数据库里的有关数据项定义,把数据库中的数据定义成有明确的业务含义的名称。业务人员所面对的不再是表、字段和它们之间复杂的关联、计算关系,而是他所熟悉的业务术语和指标名称。
“业务视图”适用于各类型项目的业务视图制作,承载多个系统用户,每个用户都可以根据项目的需求,创建具有自身特色的业务视图。业务视图中可创建多个主题,可展现项目不同的内容模块。
同时、运算符与表,拥有系统函数达式,更快捷方便的创建表达式运用系统函数,不需要编写任何代码。 另外,操作更简单,全程单击和拖拽,可以使用户更方便快捷的设计和运用。
设计思想
BVD是设计和管理业务视图的平台。用户根据实际业务需求,将复杂的数据库表关系设计为一个可视化的界面在网页中展示出来。
每个用户都可以根据需求创建具有自身特色的业务视图,还可以在业务视图中创建多个主题,展现项目不同的内容模块。
主界面
登录“业务视图”,进入主界面。如下图所示:
图1.1-1 登录页面
图1.1-2 业务视图设计入口
版本号:
鼠标移上,点击关于
图3.1-3 业务视图设计版本查看
图3.1-4 业务视图版本
快速创建
(本章节介绍一个简单示例的创建过程,用户通过该章节示例的创建过程,初步了解产品的功能作用。作为用户对产品认识的入门。)
产品详细业务视图
右击数据视图,单击引用数据或单击功能按钮引用数据,如图2.1-1所示:
图2.1-1 数据引用
在下拉框中会列举出所有定义好的数据库连接,如下图2.1-2所示:
图2.1-2 选择数据库连接
数据库连接名称选择完成后,下拉文本框的下方会显示当前选择的数据库连接对应的数据库列表。单击下拉文本框右侧的刷新,可刷新数据库列表内容。
勾选数据表‘产品’,‘供应商’,‘类别’,如下图2.1-3所示:
图2.1-3 勾选数据表
单击添加,添加勾选的数据表。被添加的数据表会显示在右侧业务视图内容中。如下图2.1-4所示:
图2.1-4 添加数据表
功能栏点击关系图,下拉菜单点击新建,如下图2.1-5所示:
图2.1-5 单击新建关系图
弹窗填写关系图名称,点击确定
2.1-6 关系图名称填写
在cosmodemo下逐一拖表拖直关系内,如下图所示
2.1-7 单击新建关系图
建立关联,把表有关联的字段,
逐一关联,如:把产品表的类别ID拖向类别表的类别ID,连接建立成功,然后类此下去,给关系图所有表建立连接,如下图2.1-8所示
图2.1-8 建立连接
一个简单的业务视图建好了, 需在智能报表中打开使用。
工具条(或主要组件)
本章节对组件各功能进行一一介绍,通过对本章节的学习,用户理解各功能的使用或属性的设置。
- 功能按钮
图3.1-1功能按钮
业务视图
单击业务视图,弹出管理业务视图按钮的下拉菜单。如下图所示:
图3.1.1-1 业务视图按钮
新建
单击按钮中的“业务视图→新建”,新建业务视图,如下图所示:
图3.1.1.1-1 新建业务视图
打开
单击按钮中的“业务视图→打开”或单击工具条打开按钮,如下图所示:
图3.1.1.2-1 打开业务视图
可弹出“打开业务视图”对话框,选中之前保存的业务视图文件,可打开业务视图;此对话框还可进行删除业务视图的操作,如下图所示:
图3.1.1.2-2 选中业务视图
单击确定,可打开选中的业务视图,如下图所示:
图3.1.1.2-3 打开业务视图
关闭
单击按钮中的“业务视图→关闭”,关闭业务视图,如下图所示:
图3.1.1.3-1 关闭业务视图
保存
单击按钮中的“业务视图→保存”或单击快捷按钮,如下图所示:
图3.1.1.4-1 单击保存
可弹出“保存业务视图”对话框,填写业务视图名称后,单击确定保存业务视图。
图3.1.1.4-2 保存业务视图
单击确定,业务视图保存成功,如下图所示:
图3.1.1.4-3 业务视图保存成功
另存为
单击按钮“业务视图→另存为”或工具条另存为按钮,如下图所示:
图3.1.1.5-1 另保存业务视图
可弹出“另存业务视图”对话框,修改名称后,可另存为另一个业务视图,如下图所示
图3.1.1.5-2 修改名称
单击确定,另存成功,如下图所示:
图3.1.1.5-3 修改名称
删除
可参照3.1.1.2打开,选中删除业务视图文件,单击删除,如下图所示
图3.1.1.6-1 选中删除的业务视图
可弹出提示“确定要删除业务视图?”,单击“是”删除,“否”取消。
图3.1.1.6-2 删除提示
引用数据
数据引用是在当前主题下引用数据源。数据引用操作方法参照3.4引用数据源。
注:打开、保存、关系图、新建可分被参考3.1.1.2打开、3.1.1.4保存、3.5关系图、3.5.1新建关系图
- 详细信息
详细信息中展示主题下对象的详细内容,根据选择对象的不同,详细信息中显示的内容也不相同。关于详细信息的介绍参照3.1.1.1 新建。
- 状态栏
状态栏中显示打开的业务视图信息、当前登录用户信息,如下图所示:
图3.3-1 状态栏
- 数据视图-数据源
引用数据
引用数据就是将定义好的数据库连接中的数据引用到业务视图中。因此定义数据库连接后才能引用数据。
右击数据视图,单击引用数据或单击功能按钮引用数据,如图所示:
图3.4.1-1 数据引用
在下拉框中会列举出所有定义好的数据库连接,如下图所示:
图3.4.1-2 选择数据库连接
数据库连接名称选择完成后,下拉文本框的下方会显示当前选择的数据库连接对应的数据库列表。单击下拉文本框右侧的刷新,可刷新数据库列表内容。
勾选数据表‘产品’,‘供应商’,‘类别’,如下图所示:
图3.4.1-3 勾选数据表
单击添加,添加勾选的数据表。被添加的数据表会显示在右侧业务视图内容中。如下图所示:
图3.4.1-4 添加数据引用
再次勾选数据表“产品”、“订单”、“订单明细”、“类别”时,单击别名,弹出提示信息,可为添加的数据表取别名。如下图所示:
图3.4.1-5 修改别名
修改别名为“产品123”,单击确定,别名添加成功。如果同时为多张数据表添加别名,那么单击确定后,本张数据表添加成功后,依次弹出各个数据表的修改别名对话框,直到最后一张数据表修改完成为止。如下图所示:
图3.4.1-6 第二张别名表
修改之后的所有别名表,完成后如下图所示:
图3.4.1-7 别名添加完成
选中业务视图内容中的数据,单击移除,可将选中的数据删除,如下图所示:
图3.4.1-8 删除“订单明细”表
在查找文本框中输入需要查找的内容,输入完成后,系统会自动查找匹配的数据,该查找功能实现的是模糊查找。如输入“订单”,将查找出所有包含“订单”的数据内容,如下图所示:
图3.4.1-9查找结果
校验
验证添加数据表有两种方法:
方法一:数据视图中全表校验。
右键cosmodeomo、右侧出现详细信息,单击校验,如下图所示
图3.4.2-1 业务视图全表校验
图3.4.2-2 详细信息校验
方法二:数据视图中进行验证。
为了显示出验证效果,先保存业务视图再重新打开该业务视图。在业务视图中的数据源下选择需要验证的对象,如“产品”表,右键单击“校验”。如下图所示:
图3.4.2-3 验证数据表
该方法是验证被选中对象结点及以下的所有数据。验证结果如下图所示:
图3.4.2-4验证结果
方法三:详细信息中验证。该方法参照3.4.4属性。
新建查询
在数据库名称上右键,单“新建查询”,如下图所示:
图3.4.3-1 新建查询
弹出“SQL”对话框,如下图所示:
图3.4.3-2 “SQL”对话框
输入名称:各类别产品信息
SQL如下:
select * from 产品.
编写如下图所示:
图3.4.3-3 编写SQL脚本
单击验证,验证SQL脚本是否正确,验证通过,弹出“成功”提示信息,如下图所示:
图3.4.3-4 验证成功
单击取消,将不保存新建查询并关闭SQL对话框。
单击确定,保存并关闭“SQL”对话框。保存后,在数据源中会生成相关数据。如下图所示:
图3.4.3-5 新建查询保存成功
注:如果脚本编写有误,则弹出错误信息。
属性
在数据源中的数据对象上右键,单击“属性”,如下图所示:
图3.4.4-1右键属性
在详细信息中会显示该对象的属性信息。不同类型的数据对象的属性信息也不相同。下面分别对不同对象属性进行介绍。
数据库连接属性
在数据源下单击选中数据库连接名称“demojdbc”,或右键“demojdbc→属性”,在详细信息中可以看到数据库连接的基本信息。如下图所示:
图3.4.4.1-1 数据库连接详细信息
用户可以查查看连接信息内容,还可以切换建立的数据库,单击更新,可更改数据库,如下图所示:
图3.4.4.1-2 更新数据库
数据库属性
单击选中数据库“cosmodemo”,或右键“cosmodemo→属性”,详细信息中会显示“cosmodemo”下的属性信息,如下图所示:
图3.4.4.2-1 数据库详细信息
单击更新,可修改数据库名称。
单击引用,弹出数据引用对话框,引用数据源参照3.4.1引用数据。
单击新建查询,可新建SQL查询,参照3.4.3新建查询。
单击校验,校验数据与数据库是否一致,校验完成后,校验的数据前面会显示校验是否通过的图标,如下图所示:
3.4.4.2-2 校验结果
右键cosmdemo,单击删除,可以删除整表数据源,如下图所示:
图3.4.4.2-3 删除整个表
数据表属性
单击选中某张表,或“右键表→属性”,详细信息中展示该数据表的属性信息。
选中直接添加的表与选中别名表展示效果会不同:
直接添加的表会有表名跟别名两个文本框,还多个“复制(别名)”的功能;
而别名表会显示原名和别名两个文本框。原名对应数据库中的表名称,别名是用来展示的名称。取别名可以将数据库中的数据表以更直观更友好的命名方式展示出来,方便用户理解表信息。如下图所示:
图3.4.4.3-1 直接添加表详细信息
图3.4.4.3-2 别名表详细信息
单击校验,可以校验引用的数据表名称及字段与数据库中是否匹配,校验功能参照3.4.2校验中的校验部分。
直接添加的表的“名称”和别名表的“原名”、“别名”内容可以被修改,修改完成后,单击文本框右侧的更新,可以更新所修改内容,保存修改操作。
单击删除列的,可删除对应字段。
右键数据源中的删除,可删除该表,如“类别_1”,右键数据源,单击“删除”,如下图所示:
图3.4.4.3-3 右键删除
弹出确认删除对话框:单击取消,则撤销删除操作。单击确定,确认删除表,如下图所示:
图3.4.4.3-4 确认删除
数据字段属性
单击某张表的某个字段,或右键“某张表的某个字段→属性”,如单击或右键“产品”表下的数据字段
“产品ID →属性”,详细信息中显示该字段的属性信息,如下图所示:
图3.4.4-1 选中字段详细信息
单击校验,检查数据是否正确。校验功能参照3.4.4.2数据库属性中的校验部分。修改字段名,单击更新,可以保存修改。
新建查询属性
单击某新建查询名称,或右键“某新建查询名称→属性”,详细信息中显示对应的属性信息,如下图所示:
图3.4.4.5-1 新建查询属性信息
单击校验,校验SQL脚本是否正确,并在字段列表中显示校验是否通过的图标,如下图所示:
图3.4.4.5-2 校验SQL 成功
单击编辑按钮,弹出SQL编辑对话框,如下图所示:
图3.4.4.5-3 编辑SQL对话框QL
用户可以对名称和SQL进行修改操作。单击验证,验证SQL是否正确。
单击取消,撤销修改操作。
单击确定,保存当前修改。如修改SQL脚本如下:
select 产品ID,产品名称,单价 from 产品
图3.4.4.5-4 编辑SQL
单击确定后,效果如下图所示:
图3.4.4.5-5 编辑结果
单击,删除字段,如单击产品ID对应的,弹出确认删除提示信息,如下图所示:
图3.4.4.5-6删除确认提示信息
单击取消按钮,撤销删除操作;
单击确定按钮,确认删除,删除后效果如下图所示:
图3.4.4.5-7 删除结果
注:新建查询中不支持自动命名,例如,ql脚本:
“select ‘colum1’ from a inner join b on a.id=b.id”
“select ‘a.id’ from a inner join b on a.id=b.id”。
- 数据视图-关系图
新建关系图
新建关系图前需首先引用数据。引用数据操作参照3.4引用数据。
新建关系图有三种方法。
方法一:单击功能按钮新建;
方法二:在数据视图下选中关系图文件夹右键,单击“新建关系图”:
方法三:单击功能栏关系图,点击新建,如下图所示:
图3.5.1-1 新建关系图
图3.5.1-2 输入新建关系图的名称
单击确定后,增加一个“新建关系图”的标签页,如下图所示:
图3.5.1-3 新建关系图标签页
展开数据源,将“产品表”和“类别表”拖拽到关系图展示区中,如下图所示:
图3.5.1-4 拖拽数据表
表连接
选中“产品表”的“类别ID”字段直接拖向“类别表”的“类别ID”字段,这两个字段间生成了一条连接线,如下图所示:
图3.5.2-1 连接线
右键中间的连接线,可选择编辑连接和删除连接选项,如下图所示
图3.5.2-2 连接线选项
用户可以选中连接线,分别单击左右的字段,则修改连接的字段。
单击下拉文本框,可以选择字段间的连接符号,如下图所示:
图3.5.2-3 联接符号
用户可以直接选择“=”、“\<>”、“\<”、“\<=”、“>”、“>=”符号定义字段间简单的联接关系。
单击添加连线,可再次添加一条连接线,如下图所示
图3.5.2-4 添加连线
单击需要删除的连接线,单击“删除连线”,将直接删除当前选中的连接线,或直接右击选择删除。如下图所示:
图3.5.2-5 删除成功
修改名称
右击关系图,单击编辑,可修改关系图名称,如下图所示:
图3.5.3-1 修改名称
图3.5.3-2 修改名称
隐藏、展开字段
单击数据表上面的,可隐藏表字段,图标变成了
单击,可展开隐藏的字段,图标变成了,如下图所示:
图3.5.4-1 展开/收缩箭头
保存
新建关系图并设置完属性后,单击综合按钮上的“关系图→保存”,如下图所示:
图3.5.5-1 保存关系图
双击关系图名称可以打开关系图,关系图打开后用户可以进行修改操作,修改完成后需单击保存。
注:保存关系图后必须再保存业务视图,关系图才能被保存下来。如果不保存业务视图直接保存关系图,关系图将不能被真正保存。
另存为
关系图在打开状态下,单击综合按钮下的“关系图→另存为”,弹出另存命名提示框,如下图所示:
图3.5.6-1 另存关系图命名
在文本框中输入关系图另存后的名称,如:gxtlc,如下图所示:
图3.5.6-2 另存关系图命名
单击是,保存另存操作,关系图文件夹下生成另存的“gxtlc”关系图,如下图所示:
图3.5.6-3 关系图另存成功
删除
展开关系图文件夹,打开关系图,单击综合按钮中的“关系图→删除”,如下图所示:
图3.5.7-1 删除关系图
或者右键“gxtlc””关系图,如下图所示:
图3.5.7-2 右键关系图删除
弹出确认删除提示框,如下图所示:
图3.5.7-3 确认删除
单击取消,撤销删除操作,单击确定,确定删除,关系图删除成功,关系图文件夹下的“gxtlc”关系图消失。如下图所示:
图3.5.7-4删除成功
- 业务视图-数据目录
新建文件夹
用户可以在业务视图-数据目录中新建文件夹,将具有相同特性的对象存放在同一文件夹下。数据目录文件夹、数据表都支持新建文件夹功能(数据字段、筛选条件和表达式下不支持新建分组)。以“数据目录”文件夹为例,右键“数据目录”,单击“新建→文件夹”。如下图所示:
图3.6.1-1 新建文件夹
弹出“新建数据目录”对话框,如下图所示:
图3.6.1-2 新建数据目录
输入分组名称:各产品订单,如下图所示:
图3.6.1-3 文件夹名称
单击取消,撤销新建分组操作。
单击确定,保存新建的文件夹。保存后会在数据目录中显示该文件夹。如下图所示:
图3.6.1-4 新建文件夹成功
文件夹新建完成后,可以将数据目录下的所有数据表拖拽到“数据表”文件夹中,单击选中“产品”表不放,将“产品”表拖拽到“各产品订单”文件夹上,文件夹显示灰色背景,如下图所示:
图3.6.1-5 拖拽“产品”表
此时松开鼠标单击操作,“产品”表显示在“各产品订单”文件夹下,如下图所示:
图3.6.1-6 拖拽成功
以同样的方法将其他数据表拖拽到“各产品订单”文件夹中,拖拽后的效果如下图所示:
图3.6.1-7 拖拽完成
用户还可以使用拖拽功能调整对象位置,如:将“类别”表拖拽到“汉字”下面,表之间显示一条虚线,如下图所示:
图3.6.1-8 拖拽显示虚线
新建筛选条件
与新建文件夹一样,数据目录文件夹、数据表和文件夹条件本身下都支持新建筛选条件功能(数据字段、筛选条件和表达式下不支持新建筛选条件)。
在“数据目录”上右键,单击“新建→筛选条件”。如下图所示:
图3.6.2-1 新建筛选条件
弹出“新建表达式”对话框,如下图所示:
图3.6.2-2 “新建表达式”对话框
“新建表达式”对话框左侧包含“数据目录”、“计算”、“变量”;“数据目录”中包含所有数据目录下的内容;计算文件夹下有“运算函数”、“文本函数”、“数值函数”、“系统时间函数”、“时间函数”、“统计函数”,此文件夹下包含多数常用的函数;变量文件夹下是参数和系统变量,如下图所示
图3.6.2-3 左侧内容
下面介绍如何添加一个简单的筛选条件,展开数据目录中的“类别”表,双击“类别名称”字段,类别名称被添加到表达式文本框中,如名称没有填写,系统自动将第一次双击添加的对象作为名称添加到名称文本框中,如下图所示:
图3.6.2-4 自动生成名称
修改称文本框中输入:类别名称等于饮料,如下图所示
图3.6.2-5 修改名称
单击运算符的=号,添加到表达式中,如下图所示:
图3.6.2-6 添加“=”符号
再单击“abc”,添加到表达式,如下图所示:
图3.6.2-7 添加字符串
单击“abc”,修改表达式中的文本“abc”为“饮料”,如下图所示:
图3.6.2-8 修改文本
单击取消,取消新建筛选条件操作。
单击确定,保存新建的筛选条件。“数据目录”下会显示该筛选条件,如下图所示:
图3.6.2-9 新建筛选条件成功
如果同时添加多个条件时,则可添加运算符条件,如图下所示
图3.6.2-10 运算符条件
从左到右分别删除、回车和中英文切换,删除是删除表达式的任意内容;回车是换一个段落;中英文切换是单击第一次把运算符切换成中文,如下图所示:
图3.6.2-11 功能按钮
新建参数
右键“数据目录”,单击“新建→参数”,如下图所示:
图3.6.3-1 新建参数
弹出“新建参数”对话框,如下图所示:
图3.6.3-2 新建参数对话
填写参数相关内容,如名称选择类型(字符、数字、日期)、默认值,如下图所示
图3.6.3-3 新建参数对话框
单击确定,参数新建成功。
新建计算公式
新建计算公式与新建筛选条件操作相同,参照3.6.2新建筛选条件。新建计算公式时,表达式中添加的是计算表达式。右键数据目录,单击“新建→计算公式”,如下图所示:
图3.6.4-1 新建计算公式
填写计算公式名称和表达式,如下图所示:
图3.6.4-2 “计算公式表达式”对话框
单击确定,保存计算公式,计算公式新建完成。数据目录中显示该计算公式。如下图所示:
图3.6.4-3 计算公式新建成功
引用数据
右键“各产品订单”文件夹,单击“引用数据”,如下图所示:
图3.6.5-1 引用数据
弹出“添加数据目录”对话框,对话框中显示数据源中的所有数据信息,如下图所示:
图3.6.5-2 “新建数据目录”对话框
勾选“产品”,“产品”表下面的字段都会同时被选中,如下图所示:
图3.6.5-3勾选“产品”表
也可以直接勾选字段,勾选“类别”表下的“类别ID”和“类别名称”字段,如下图所示:
图3.6.5-3 勾选字段
单击确定,保存被勾选的数据添加到“各产品订单”文件夹下。如下图所示:
图3.6.5-4 引用数据成功
注:在数据目录中引用数据,弹出的引用对话框中“创建表名目录”是指添加在所属文件夹下的第一级目录是表名,默认情况下是勾选状态,取消勾选的话添加出来的第一级目录直接是字段名
编辑
数据目录下的对象都可以进行编辑,但文件夹、数据表、字段、新建查询只可以对名称进行编辑,筛选条件和表达式不但可以对名称进行编辑,还可以对表达式内容进行编辑。右键对象单击“编辑”,如下图所示:
图3.6.6-1右键编辑
不同对象弹出的提示框也不同,如文件夹、数据表、新建查询名称弹出同一种“编辑名称”对话框,以“产品表”为例,如下图所示:
图3.6.6-2 “产品”对话框
修改“各产品订单”文本为“各产品订单量”,如下图所示:
图3.6.6-3 修改名称
单击取消,将撤销编辑操作。
单击确定,保存修改的内容,并关闭“编辑名称”对话框。“产品”表变成了“各产品订单量”,如下图所示:
图3.6.6-4 分组编辑成功
数据字段编辑弹出的“编辑表达式”对话框如下图所示:
图3.6.6-5 “编辑表达式”对话框
编辑数据字段和编辑数据表方法类似,在这里不做详细介绍。单击取消,关闭“编辑表达式”对话框。
编辑筛选条件和编辑计算公式方法类似,以编辑筛选条件为例,右键“产品ID”筛选条件,单击“编辑”,如下图所示:
图3.6.6-6 编辑筛选条件
修改名称为:产品ID等于调味品,修改表达式内容为:产品"='调味品',如下图所示:
图3.6.6-8 修改表达式内容
单击确定按钮,保存修改。
复制/粘贴
右键数据目录中的对象,如:订购总额,单击“复制”,如下图所示:
图3.6.7-1 复制
右键单击分组“其他”,弹出功能列表中单击“粘贴”,如下图所示:
图3.6.7-2 粘贴
属性
右键数据目录中的对象,单击“属性”,会在详细信息中显示该对象的属性信息,用户可以进行更新、删除和是否显示数据操作。各对象的操作方法相同,以“其他”为例,右键单击“属性”,如下图所示:
图3.6.8-1 右键属性
右侧详细信息中显示“其他”的属性信息,如下图所示:
图3.6.8-2 “其他”属性
修改名称后单击更新,可以保存对名称的修改操作,单击删除列中的,可以删除对应的内容。
删除
右键对象单击“删除”可将该对象删除。如:右键“其他”分组,单击“删除”,如下图所示:
图3.6.8-3 右键删除
弹出确认删除提示框,如下图所示:
图3.6.8-4 确认删除提示框
单击取消,将撤销删除操作。
单击确定,确认删除。“其他”分组及其包括的所有对象均被删除,如下图所示:
图3.6.8-5删除成功
- 表达式
表达式文件夹只是提供查看和引用函数与运算符的功能,内容需嵌到表达式中才可运用,不可独立运用。
表达式中包含数值函数、文本函数、时间函数、运算符号四个文件夹,如下图所示
数值函数文件夹中包含多数常用的数值函数。
文本函数文件夹中包含多数常用的文本函数。
时间函数文件夹中包含多数常用的数值函数。
运算符号文件夹包含常用的运算符。
运算函数
函数名称 | 函数公式 | 说明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
如果 | IF() | If创建一个条件表达式。使用 THEN 和 ELSE | ||||||||||||
然后 | THEN() | Then创建一个条件表达式。使用 IF 和 ELSE | ||||||||||||
否则 | ELSE() | Else创建一个条件表达式。使用 IF 和 THEN | ||||||||||||
否则如果 | ELSEIF | If创建一个条件表达式。使用 THEN 和 ELSE 和 ELSEIF | ||||||||||||
包含 | IN | IN判定某个数值是否在给定的一列数据中或一个数据集中 | ||||||||||||
属于 | BETWEEN | BETWEEN判定某个数值是否在给定的区间 | ||||||||||||
匹配 | LIKE | LIKE确定给定的字符串是否与指定的模式匹配 | ||||||||||||
空 | NULL | NULL如果表达式的条件不成立,插入一个 NULL 值 | ||||||||||||
为空 | IS NULL | 空缺判定某数值是否在数据中定义 | ||||||||||||
不为空 | IS NOT NULL | 不空缺判定某数值是否没在数据中定义 | ||||||||||||
去重 | DISTINCT | DISTINCT用于指明在计算中只包含不重复的数据项 | ||||||||||||
连接 | \ | \ | \ | \ | 将两个或多个字段,使用“\ | \ | ”进行连接,例如:a\ | \ | b\ | \ | c\ | \ | d | |
+ | + | +算术运算符,加号或正号。 | ||||||||||||
- | - | -算术运算符,减号或负号 | ||||||||||||
* | * | *算术运算符,乘号 | ||||||||||||
/ | / | /算术运算符,除号 | ||||||||||||
= | = | =与一个预先给定的数值相比较;并且只提取等于此给定值的数据 | ||||||||||||
( | ( | (在表达式中插入左括号 | ||||||||||||
, | , | 逗号表达式的分隔符 | ||||||||||||
) | ) | )在表达式中插入右括号 | ||||||||||||
\<> | \<> | \<>与一个预先给定的数值相比较;并且只提取不等于此给定值的数据 | ||||||||||||
\< | \< | \< 与一个预先给定的数值相比较;并且只提取小于此给定值的数据 | ||||||||||||
\<= | \<= | \<=与一个预先给定的数值相比较;并且只提取小于或等于此给定值的数据 | ||||||||||||
> | > | >与一个预先给定的数值相比较;并且只提取大于此给定值的数据 | ||||||||||||
>= | >= | >=与一个预先给定的数值相比较;并且只提取大于或等于此给定值的数据 | ||||||||||||
非 | NOT | 非(NOT)如果条件不成立返回是(TRUE),返之返回否(FALSE) | ||||||||||||
或者 | OR | 或(OR)任何一侧的表达式成立,则返回是(TRUE) | ||||||||||||
并且 | AND | 与(AND)如果两侧的表达式都成立,则返回是(TRUE) | ||||||||||||
任何 | ANY | ANY把列数值同数据集中的任一个元素相比较 | ||||||||||||
全部 | ALL | ALL把某列数值同数据集中的全部元素进行比较 | ||||||||||||
存在 | EXISTS | EXISTS检查是否数据集包含数据 |
文本函数
函数名称 | 函数公式 | 说明 |
---|---|---|
唯一标识 | GUID() | 全球唯一标识 |
多重赋值 | DECODE ( value,if1,then1,if2,then2,...,else ) | 表示如果value等于if1时,DECODE函数的结果返then1,...,如果不等于任何一个if值,则返回else。与if-then-else逻辑相同 |
空值判断 | ISNULL(exp,0) | 如果exp为NULL,则NVL函数返回replace_with的值,否则返回原来的值,exp和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。数据类型支持:字符类型,日期类型,数值类型 |
截取 | SUBSTRING ( str_exp,start,length ) | 返回给定的字符串表达式中的从start(整数数据类型表达式)字符开始length长度个字符的字符串。str_exp中第一个字符的位置是1。length如果为空,默认截取到字符串结尾。 |
替换 | REPLACE ( str_exp1,str_exp2,str_exp3 ) | 用str_exp3把在str_exp1中的str_exp2代替 |
连接 | CONCAT ( str_exp1,str_exp2 ) | 返回字符串表达式str_exp2连接到str_exp1后的结果 |
字符长度 | CHAR_LENGTH ( str_exp ) | 返回字符串表达式的字符长度(整数) |
字节长度 | OCTET_LENGTH ( str_exp ) | 返回字符串表达式的字节数(整数)。ORACLE字符集:ZHS16GBK,一个汉字占用2个字节ORACLE字符集:AL32UTF8,一个汉字占用3个字节 |
位置 | POSITION ( str_exp1,str_exp2,[,start[,num]] ) | 返回str_exp2在str_exp1中出现的位置(整数)。str_exp1:原始字符串str_exp2:要寻找的字符串start:查询起始位置,正值表示从左到右,负值表示从右到左(大小表示位置,比如3表示左面第3处开始,-3表示右面第3处开始)num:第几个匹配项。大于0 |
左截取 | LEFT ( str_exp,integer_exp) | 返回str_exp(字符串类型表达式)中从最左边起前integer_exp(整数类型表达式)个字符。 |
右截取 | RIGHT( str_exp,integer_exp) | 返回字符串表达式str_exp中最右边起integer_exp(整数数据类型)个字符。 |
删除空格 | TRIM ( str_exp ) | 返回删除给定字符串的前后空格后的字符 |
删除右空格 | RTRIM ( str_exp1 , str_exp2 ) | 删除给定字符串右边的空格或指定字符 |
删除左空格 | LTRIM ( str_exp ) | 删除给定字符串左边的空格或指定字符 |
小写 | LOWER ( str_exp ) | 把字符串表达式str_exp中的所有大写字符都转换为小写。例如lower("STR_EXP")=str_exp |
大写 | UPPER ( str_exp ) | 把给定的字符串表达式中所有小写字符转换成大写。例如upper("str_exp")=STR_EXP |
反转 | REVERSE ( str_exp ) | 返回给定的字符串表达式的反序。例如reverse("ABC")="CBA"。str_exp不能是中文 |
字符串转数值 | STRING_TO_NUMBER ( str_exp ) | 对给定的字符串表达式转化为数值数据类型表达式,并返回。该字符串表达式的首部或者尾部可以是空格、符号、数字(0-9)或小数点给定的字符串表达式中所有组成部分都可选择,但至少有一个的数组被指定。浮点数值也可以表示包含“Esd”格式的指数,其中s是可选标识符,d是一个指数 |
数值转字符串 | NUMBER_TO_STRING ( numeric_exp ) | 对给定的数值表达式转化为字符串类型表达式,并返回 |
左填充 | LPAD (str,numeric_exp,pad_str) | str:原始字符串numeric_exp:字符的长度,如果这个数值比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的numeric_exp个字符;pad_string:是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。例如lpad("123",6,"000")=000123 |
右填充 | RPAD ( str,numeric_exp,pad_str) | str:原始字符串numeric_exp:字符的长度,如果这个数值比原字符串的长度要短,RPAD函数将会把字符串截取成从右到左边的numeric_exp个字符;pad_string:是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,RPAD函数将会在string的右边粘贴空格。例如RPAD("123",6,"000")=123000 |
最大列值 | GREATEST (value1,value2,value3 ) | 返回值列表中最大值,当value值列表中有一个为NULL,则返回NULL值。例如greatest("A","B","C")=C,greatest(null,"B","C")=null |
最小列值 | LEAST ( value1,value2,value3) | 返回值列表中最小值,当value值列表中有一个为NULL,则返回NULL值。例如least("A","B","C")=A,least(null,"B","C")=null |
条件判断如果 | IF ( condition_exp1 ) THEN (val1) ELSEIF (condition_exp2) THEN ( val2 ) ELSE ( val3 ) | 表示如果condition_exp1逻辑判断为真,返val1,如果condition_exp2逻辑判断为真,返val2...,如果不等于任何一个if值,则返回val3 |
数值函数
函数名称 | 函数公式 | 说明 |
---|---|---|
绝对值 | ABS (numeric_exp) | 返回给定数字表达式的绝对值。 |
平方根 | SQRT (numeric_exp) | 返回给定的数值数据类型表达式的平方根(给定的数值数据类型表达式不能为负数) |
最小整数 | CEILING (numeric_exp) | 返回大于或等于给定的数值表达式的最小整数。 |
最大名称 | FLOOR (numeric_exp) | 返回小于或等于给定的数值数据类型表达式的最大整数值 |
余数 | MOD (integer_exp1, integer_exp2) | 按integer_exp1/integer_exp2取余数。注意:integer_exp2不能为零(有些数据库可能承认零) |
正弦值 | SIN (numeric_exp) | 返回角度数值表达式numeric_exp的正弦值 |
余弦值 | COS (numeric_exp) | 返回角度数值表达式numeric_exp的余弦值 |
正切值 | TAN (numeric_exp) | 返回角度数值表达式numeric_exp的正切值 |
余切值 | COT (numeric_exp) | 返回角度数值表达式numeric_exp的余切值。 |
反正弦值 | ASIN (numeric_exp) | 返回数值表达式numeric_exp对应的反正弦值。反正弦值是指正弦值为numeric_exp的角度 |
反余弦值 | ACOS (numeric_exp) | 返回数值表达式numeric_exp对应的反余弦值。反余弦值是指正弦值为numeric_exp的角度 |
反正切值 | ATAN (numeric_exp) | 返回数值表达式numeric_exp对应的反正切值。反正切值是指正弦值为numeric_exp的角度 |
次幂 | POWER (numeric_exp1, numeric_exp2) | 返回数值数据表达式numeric_exp1的numeric_exp2次幂。如果numeric_exp1负数,则numeric_exp2必须是整数数据表达式。 |
四舍五入 | ROUND(numeric_exp,num_digits) | 返回number按精度num_digits截取后的值,进行四舍五入。 Number 需要截尾取整的数字。 nNum_digits 指明需保留小数点后面的位数。可选项,忽略他则截去任何的小数部分,Num_digits 的默认值为 0,此参数够为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。 例如:ROUND(123.458, 1), --123.5 、ROUND(123.458, -2), --100 |
截尾取整 | TRUNC(numeric_exp, num_digits ) | 返回number按精度num_digits截取后的值,不进行四舍五入 Number 需要截尾取整的数字。 Num_digits 指明需保留小数点后面的位数。可选项,忽略他则截去任何的小数部分,Num_digits 的默认值为 0,此参数够为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。 例如:TRUNC(123.458, 1), --123.4 、TRUNC(123.458, -2), --100 |
系统时间函数
函数名称 | 函数公式 | 说明 |
---|---|---|
系统时间 | SYSDATE() | 返回数据库允许所在计算机的系统时间 |
当天 | TODAY() | 返回当前年月日。比如:20191012 |
时间转换字符型 | NOW_TO_STRING() | 对当前日期转换为“年-月-日”格式的字符型表达式。比如:2019-01-12。 |
年月 | YM () | 返回当前年月。比如:201910 |
年 | YEAR () | 返回当前年份 |
季 | QUATER () | 返回当前季度(范围是1-4整数数据类型) |
月 | MONTH () | 返回当前月份(范围是1-12整数数据类型) |
日 | DAY () | 返回当前日期的天。(范围是1-31有符号整型) |
小时 | HOUR () | 返回当前时间的小时(范围是0-23整型数据类型) |
分钟 | MINUTE () | 返回当前时间的分钟(范围是0-59整数数据类型) |
秒 | SECOND () | 返回当前时间的秒(范围是0-59整数数据类型) |
年初 | YEAR_BEGIN () | 返回本年份的第一天。比如:20190101 |
季初 | QUATER_BEGIN () | 返回本季度的第一天。比如:20191001 |
月初 | MONTH_BEGIN () | 返回本月份的第一天。比如:20191001 |
周初 | WEEK_BEGIN () | 返本年所在周的第一天,周日为本周第1天。比如:20171006 |
年末 | YEAR_END () | 返回本年份的最后一天。比如:20191231 |
季末 | QUATER_END () | 返回本季度的最后一天。比如:20191230 |
月末 | MONTH_END () | 返回本月份的最后一天。比如:20191031 |
周末 | WEEK_END () | 返回本周的最后一天,周日为本周最后1天。比如:20191012 |
年的日 | DAYOFYEAR () | 返回当前日期date_exp(范围是1-366整型数据类型)所在年的第几天 |
月的日 | DAYOFMONTH () | 返回当前日期date_exp(范围是1-12整型数据类型)所在月的第几天。1表示一月 |
周的日 | DAYOFWEEK () | 返回当前日期date_exp(范围是1-7整型数据类型)所在周的第几天。1表示星期一 |
时间函数
函数名称 | 函数公式 | 说明 | |
---|---|---|---|
当前时间 | YMDAY (date_exp) | 返回年月日。比如:20191012 | |
年月 | YM ( date_exp ) | 返回年月日。比如:201910 | |
年 | YEAR ( date_exp ) | 返回给定日期的年份 | |
季 | QUATER ( date_exp ) | 返回给定日期的季度(范围是1-4整数数据类型) | |
月 | MONTH ( date_exp ) | 返回给定日期的月份(范围是1-12整数数据类型) | |
日 | DAY ( date_exp\ | interval_exp ) | 返回给定日期的天。(范围是1-31有符号整型) |
小时 | HOUR ( time_exp ) | 返回给定时间的小时(范围是0-23整型数据类型) | |
分钟 | MINUTE ( time_exp ) | 对时间表达式time_exp返回给定时间的分钟(范围是0-59整数数据类型) | |
秒 | SECOND ( time_exp ) | 返回给定时间的秒(范围是0-59整数数据类型) | |
年初 | YEAR_BEGIN ( date_exp ) | 返回给定的日期所在年份的第一天。比如:20170101 | |
季初 | QUATER_BEGIN ( date_exp ) | 返回给定的日期所在季度的第一天。比如:20170401 | |
月初 | MONTH_BEGIN ( date_exp ) | 返回给定的日期所在月份的第一天。比如:20170701 | |
周初 | WEEK_BEGIN ( date_exp ) | 返回给定的日期所在周的第一天,周日为本周第1天。比如:20170716 | |
年末 | YEAR_END ( date_exp ) | 返回给定的日期所在年份的最后一天。比如:20171231 | |
季末 | QUATER_END ( date_exp ) | 返回给定的日期所在季度的最后一天。比如:20170630 | |
月末 | MONTH_END ( date_exp ) | 返回给定的日期所在月份的最后一天。比如:20170731 | |
周末 | WEEK_END ( date_exp ) | 返回给定的日期所在周的最后一天,周日为本周最后1天。比如:20170722 | |
加减天 | ADD_DAYS ( date_exp,integer_exp ) | 对给定的日期加减指定天数。返回日期类型表达式 | |
加减月 | ADD_MONTHS ( date_exp,integer_exp ) | 对给定的日期加减指定月数。返回日期类型表达式 | |
加减年 | ADD_YEARS ( date_exp,integer_exp ) | 对给定的日期加减指定年数。返回日期类型表达式 | |
年的日 | DAYOFYEAR ( date_exp ) | 返回给定的日期date_exp(范围是1-366整型数据类型)所在年的第几天 | |
月的日 | DAYOFMONTH ( date_exp ) | 返回给定的日期date_exp(范围是1-12整型数据类型)所在月的第几天。1表示一月 | |
周的日 | DAYOFWEEK ( date_exp ) | 返回给定的日期date_exp(范围是1-7整型数据类型)所在周的第几天。1表示星期一 | |
月份差 | MONTHS_BETWEEN ( date_exp1,date_exp2 ) | 返回两个日期之间的月份数。如果两个日期月份内天数相同,或者都是某个月的最后一天,返回一个整数,否则,返回数值带小数,以每天1/31月来计算月中剩余天数。如果日期1比日期2小,返回值为负数。注:两个参数表示的日期不是同一天,所以返回带小数的值 | |
字符串转化为日期 | STRING_TO_DATE ( string_exp ) | 对给定的字符类型表达式转换为“年月日”格式的日期型表达式 | |
日期转化为字符串 | DATE_TO_STRING ( date_exp ) | 对给定的日期转换为“年月日”格式的字符型表达式 |
统计函数
函数名称 | 函数公式 | 说明 |
---|---|---|
合计 | SUM ( numeric_exp ) | 返回所选数据的合计结果 |
最小值 | MIN ( numeric_exp ) | 返回所选数据的最小值 |
最大值 | MAX ( numeric_exp ) | 返回所选数据的最大值 |
平均值 | AVG ( numeric_exp ) | 返回所选数据的平均值 |
计数 | COUNT ( numeric_exp ) | 返回所选数据的个数 |
不重复计数 | COUNT_DISTINCT ( numeric_exp ) | 表示如果condition_exp逻辑判断为真,次数加1 |
排名 | RANK () | 返回数据项在分区中的排名。特点:在排名相等的情况下会在名次中留下空位.排名结果举例:1,1,3 |
分组 | NTILE ( numeric_exp ) | NTILE函数,返回n分片后的值,比如三分片、四分片。对有序的数据集合平均分配到numeric_expr指定的数量的桶中,将桶号分配给每一行。如果不能平均分配,则较小桶号的桶分配额外的行,并且各个桶中能放的行数最多相差1numeric_exp分组个数 |
占比 | RATIO ( numeric_exp ) | 占比(累加值比率),返回当前行的数值在分区中所有行的数值总和中所占的比例 |