当前位置:首页 » 数据仓库 » 数据库的函数列
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库的函数列

发布时间: 2023-02-16 11:39:45

数据库中函数的概念

函数其实就是一段程序代码,用户可以通过调用函数(有的需要加上相应的参数值)来执行一些特殊的运算或完成复杂的操作。函数可以分为系统内置函数和用户自定义函数。
系统内置函数通常包括系统函数、字符串函数、日期和时间函数、数学函数、转换函数等。例如求和sum,截取子串substring等。一般所有用户、程序中都可使用。
用户自定义函数由用户自己定义,当然相应的功能也由自己决定。

㈡ 数据库常用函数

1、系统信息函数

系统信息函数用来查询Mysql数据库的系统信息。

函数代码:

SELECT VERSION()

->5.0.67-community-nt

CONNECTION_ID() 返回服务器的连接数

DATABASE()、SCHEMA 返回当前数据库名

USER()、SYSTEM_USER()返回当前用户

2、日期时间函数

MySQL的日期和时间函数主要用于处理日期时间。

函数代码:

CURDATE(),CURRENT_DATE() curdate() 返回当前日期

SELECT CURDATE()

->2014-12-17

CURTIME(),CURRENT_TIME curtime()
返回当前时间

SELECT CURTIME()
->15:59:02

3、字符串函数

函数代码:

CHAR_LENGTH(s) char_length()返回字符串s的字符数

SELECT CHAR_LENGTH('你好123') -- 5

CONCAT(s1,s2,...) concat(s1,s2...)

将字符串s1,s2等多个字符串合并为一个字符串

4、加密函数

加密函数是MySQL用来对数据进行加密的函数。

函数代码:

PASSWORD(str)

该函数可以对字符串str进行加密,一般情况下,PASSWORD(str)用于给用户的密码加密。

SELECT PASSWORD('123')

->*

5、数学函数

数学函数主要用于处理数字,包括整型、浮点数等。

函数代码:

ABS(x) abs(x)返回x的绝对值

SELECT ABS(-1) -- 返回1

CEIL(x),CEILING(x) cell(x),celling(x)

返回大于或等于x的最小整数

SELECT CEIL(1.5) -- 返回2

㈢ 讲解SQL Server数据库中函数的使用方法

本文主要主要讲解了SQL Server数据库中函数的两种用法 具体内容请参考下文

◆ 由于update里不能用存储过程 并且由于根据更新表的某些字段还要进行计算 所以很多人采用的是游标的方法 在这里我们可以用函数的方法实现

函数部分

CREATE FUNCTION [DBO] [FUN_GETTIME] (@TASKPHASEID INT)RETURNS FLOAT ASBEGINDECLARE @TASKID INT @HOUR FLOAT @PERCENT FLOAT @RETURN FLOATIF @TASKPHASEID IS NULLBEGINRETURN( )ENDSELECT @TASKID=TASKID @PERCENT=ISNULL(WORKPERCENT )/ FROM TABLETASKPHASEWHERE ID=@TASKPHASEIDSELECT @HOUR=ISNULL(TASKTIME ) FROM TABLETASKWHERE ID=@TASKIDSET @RETURN=@HOUR*@PERCENTRETURN (@RETURN)END调用函数的存储过程部分 CREATE PROCEDURE [DBO] [PROC_CALCCA]@ROID INTASBEGINDECLARE @CA FLOATUPDATE TABLEFMECASETCvalue_M= ISNULL(MODERATE )*ISNULL(FMERATE )*ISNULL(B BASFAILURERATE )*[DBO] [FUN_GETTIME](C ID)FROM TABLEFMECA TABLERELATION B TABLETASKPHASE CWHERE ROID=@ROID AND TASKPHASEID=C ID AND B ID=@ROIDSELECT @CA=SUM(ISNULL(Cvalue_M )) FROM TABLEFMECA WHERE ROID=@ROIDUPDATE TABLERELATIONSET CRITICALITY=@CAWHERE ID=@ROIDENDGO

◆ 我们要根据某表的某些记录 先计算后求和 因为无法存储中间值 平时我们也用游标的方法进行计算 但SQL Server 里支持

SUM ( [ ALL DISTINCT ] eXPression )expression

是常量 列或函数 或者是算术 按位与字符串等运算符的任意组合 因此我们可以利用这一功能

函数部分

lishixin/Article/program/SQLServer/201311/22423

㈣ 数据库函数有哪些

数据库中常用的函数都有哪些啊?
因数据库不同有不同的函数,以oracle为例:常用的有单条语句作用的函数:destinct(去除重复行),to_char(转换自符串),to_date(日期格式函数),sumstr(截取自符串),lower(将字母转换为小写),upper(将字母矗换为小写),char(将数字转换为字符),ascii(求字符的ascii码)等函数;

组函数:min(求最小值),max(求最大值),avg(求平均数),sum(求总和),counnt(统计记录数);
数据库函数有哪些?有人吗?
有 Funciton , 也就是函数

有 Procere , 也就是存储过程

有 Package, 也就是 代码包 (包含 head 和 body 两部分, 可以理解为一个包里面,定义多个 存储过程或函数)

有 Types, 也就是 自定义数据类型

有 Triggers, 也就是 触发器

有 Jobs, 也就是 数据库作业 (定期执行的)

有 Table , 也就是表 (表有 普通表, 临时表, 分区表)

有 Index, 也就是索引

有 Constraint, 也就是 约束 ( 也就是 某个表里面的某一列, 必须满足什么约束条件)

有 View, 也就是 视图

有 Materialized View, 叫 “物化视图”, 这个有点复杂的。

有 Sequence , 叫 序列号。

有 User , 叫 用户

有 Profile , 叫 用户属性文件 (用于限制 每个用户 占有数据库资源的限制)

有 Synonyms, 叫 “同义词” (用于 便捷地访问 其他用户下的对象)

有 Database link 叫 “链接数据库” (用于访问 其他机器上的 Oracle 数据库)

有 TableSpace 叫 表空间 (用于 存放表数据的)

有 CURSOR 叫 游标, 用于 存储过程里面, 遍历数据的。
数据库系统函数有哪些分类
单行函数,多行函数 单行的又分字符,日期,数字,转换,通用几种

采纳哦
sql 聚合函数有哪些
聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下:

1. AVG 返回指定组中的平均值,空值被忽略。

例:select prd_no,avg(qty) from sales group by prd_no

2. COUNT 返回指定组中项目的数量。

例:select count(prd_no) from sales

3. MAX 返回指定数据的最大值。

例:select prd_no,max(qty) from sales group by prd_no

4. MIN 返回指定数据的最小值。

例:select prd_no,min(qty) from sales group by prd_no

5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。

例:select prd_no,sum(qty) from sales group by prd_no

6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。

例:select count_big(prd_no) from sales

7. GROUPING 产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.

例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup

8. BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。

例:select prd_no,binary_checksum(qty) from sales group by prd_no

9. CHECKSUM_AGG 返回指定数据的校验值,空值被忽略。

例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no

10. CHECKSUM 返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。

11. STDEV 返回给定表达式中所有值的统计标准偏差。

例:select stdev(prd_no) from sales

12. STDEVP 返回给定表达式中的所有值的填充统计标准偏差。

例:select stdevp(prd_no) from sales

13. VAR 返回给定表达式中所有值的统计方差。

例:select var(prd_no) from sales

14. VARP 返回给定表达式中所有值的填充的统计方差。

例:select varp(prd_no) from sales...>>
所有的数据库函数的函数名都以什么开头
这个是好多的具体如下:

一、财务函数

ACCRINT 返回定期付息有价证券的应计利息

ACCRINTM 返回到期一次性付息有价证券的应计利息

AMORDEGRC 返回使用折旧系数的每个结算期间的折旧值

AMORLINC 返回每个结算期间的折旧值

COUPDAYBS 返回当前付息期内截止到成交日的天数

COUPDAYS 返回包含成交日所在的付息期的天数

COUPDAYSNC 返回从成交日到下一付息日之间的天数

COUPNCD 返回成交日之后的下一个付息日

COUPNUM 返回成交日和到期日之间的付息次数

COUPPCD 返回成交日之前的前一个的付息日

CUMIPMT 返回两个期间内累计支付的利息

CUMPRINC 返回一笔贷款在两个期间内累计偿还的本金数额

DB 使用固定余额递减法,返回一笔资产在给定期间内的折旧值

DDB 使用双倍余额递减法或其他指定方法,返回一笔资产在给定期间内的折旧值

DISC 返回有价证券的贴现率

DOLLARDE 将按分数表示的价格转换为按小数表示的价格

DOLLARFR 将按小数表示的价格转换为按分数表示的价格

DURATION 返回定期付息有价证券的每年期限

EFFECT 返回实际年利率

FV 返回一笔投资的未来值

FVSCHEDULE 返回应用一系列复利率后的本金的未来值

INTRATE 返回一次性付息有价证券的利率

IPMT 返回一笔投资在给定期间内支付的利息

IRR 返回一系列现金流的内部收益率

ISPMT 计算特定投资期内要支付的利息

MDURATION 返回假设面值 $100 的有价证券的 Macauley 修正期限

MIRR 返回正和负现金流以不同利率进行计算的内部收益率

NOMINAL 返回年名义利率

NPER 返回投资期间的数量

NPV 返回基于一系列定期现金流和贴现率计算的投资的现净值

ODDFPRICE 返回首期付息日不固定的面值$100 的有价证券价格

ODDFYIELD 返回首期付息日不固定的有价证券的收益率

ODDLPRICE 返回末期付息日不固定的面值$100 的有价证券价格

ODDLYIELD 返回末期付息日不固定的有价证券的收益率

PMT 返回年金的定期支付金额

PPMT 返回一笔投资在给定期间内偿还的本金

PRICE 返回定期付息的面值 $100 的有价证券的价格

PRICEDISC 返回折价发行的面值$100 的有价证券的价格

PRICEMAT 返回到期付息的面值$100 的有价证券的价格

PV 返回投资的现值

RATE 返回年金的各期利率

RECEIVED 返回一次性付息的有价证券到期收回的金额

SLN 返回一笔资产在某个期间内的线性折旧值

SYD 返回一笔资产按年限总和折旧法计算的指定期间的折旧值

TBILLEQ 返回国库券的等效收益率

TBILLPRICE 返回面值 $100 的国库券的价格

TBILLYIELD 返回国库券的收益率

VDB 使用余额递减法,返回一笔资产在给定期间或部分期间内的折旧值

XIRR 返回一组不定期发生的现金流的内部收益率

XNPV 返回一组不定期发生的现金流的净现值

YIELD 返回定期付息有价证券的收益率

YIELDDISC 返回折价发行的有价证券(如国库券)的年收益率

YIELDMAT 返回到期付息的有价证券的年收益率

二、日期与时间函数

DATE 返回特定日期的序列号

DATEVALUE 将文本格式的日期转换为序列号

DAY 将序列号转换为月的日期

DAYS360 计算基于一年 360 天的两个日期间的天数

EDATE 返回用于表示开始日期之......>>
Oracle数据库函数有几种与作用
数值型函数:操作数字类型

字符型函数:操作字符型

日期型的函数:操作日期型

转换函数:转换类型

聚组函数:统计和、差、积等操作

分析函数:连续求和、排序等

其他函数:很多,没有表中分类
数据库的对象有哪些
Funciton:函数

Procere:存储过程

Package:代码包,一个包里面,定义多个存储过程、函数、类型、常量等

Type:自定义数据类型

Trigger:触发器

Job:数据库作业 (定期执行的)

Table:表

Index:索引

Constraint:约束,限制各数据项应满足哪些限阀条件

View:视图

Materialized View:物化视图

Sequence:序列

User:叫 用户

Synonym:同义词

Database link:数据库链接(ORACLE有,别的数据库不熟,想必也应该有,可能不叫这个名字)

TableSpace:表空间(ORACLE叫这个名字,别的数据库不熟)

CURSOR:游标

常用的大致这些,可能会有遗漏,但也应该不会差太多。
excel常用函数都有哪些?
常用函数

1、求和函数 SUM

2、平均值函数 AVERAGE

3、逻辑函数 IF

4、快捷方式或链接创建函数 HYPERLINK

5、计数函数 COUNT

6、最大(小)值函数 MAX(MIN)

7、条件求和函数 SUMIF

8、货款偿还计算函数 PMT

9、样本的标准偏差函数 STDEV

10、排序函数 RANK

11、四舍五入函数 ROUND

12、条件计数函数 COUNTIF

13、百分排位预测函数 PERCENTILE

14、数值探测函数 ISNUMBER

15、零存整取收益函数 PV

16、内部平均值函数 TRIMMEAN

17、日期年份函数 YEAR

18、起止天数函数 DAYS360

19、取整函数 TRUNC

20、字符提取函数 MID

伍昊的《你早该这么玩excel》顶你学堂在线公开课,你可以去看下,学完这个课程,excel基本上也就够用了。
SQL Server中的聚合函数有哪些?
count() 所有记录数

count(*)所有非null记录数

avg() 某一列平均值

min() 某一列最小值

max() 某一列最大值

sum() 某一列总和
数据库的命令都有哪些?
1、显示当前存在的数据库 mysql> show databases;

2、选择数据库 mysql> USE mysql Database changed (USE 和 QUIT 命令不需要分号结束。),显示当前选择的数据库 mysql> select database();

3、显示当前数据库中存在的表 mysql> SHOW TABLES;

4、显示表(db)的内容 mysql>select * from db;

5、命令的取消 当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令 mysql> select -> user() -> c

6、创建一个数据库abccs mysql> CREATE DATABASE abccs;

7、选择你所创建的数据库 mysql> USE abccs Database changed;

8、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));

9、显示表的结构: mysql> DESCRIBE mytable;

10、 往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select * from mytable; Empty set (0.00 sec) 这说明刚才创建的表还没有记录。 加入一条新记录: mysql> insert into mytable values ('abccs','f','1977-07-07','china');

11、用文本方式将数据装入一个数据库表 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。 创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在 CREATE TABLE语句中列出的列次序给出,例如: abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa 使用下面命令将文本文件“mytable.txt”装载到mytable表中: mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; 再使用如下命令看看是否已将数据输入到数据库表中: mysql> select * from mytable;

12、从数据库表中检索信息 select语句格式一般为: SELECT 检索关键词 FROM 被检索的表 WHERE 检索条件

13、查询所有数据: mysql> select * from mytable;

14、修正错误记录: 假如tom的出生日期有错误,应该是1973-09-02,则可以用update语句来修正: mysql> u......>>

㈤ excel数据库函数怎么用

1.DAVERAGE
参数:返回数据库或数据清单中满足指定条件的列中数值的平均值。
语法:DAVERAGE(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
2.DCOUNT
参数:返回数据库或数据清单的指定字段中,满足给定条件并且包含数字的单元格数目。
语法:DCOUNT(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
3.DCOUNTA
参数:返回数据库或数据清单指定字段中满足给定条件的非空单元格数目。
语法:DCOUNTA(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。

㈥ excel中数据库函数的具体用法并举例

if函数可以嵌套七层,我简单举统计成绩中用到的一种写法:
if(a1>=90,"优秀",if(a1>=60,"及格","不及格")
其中a1要看你要分析的单元格的地址,这里只是举例罢了,实际应用还要看你的需要,分析完以后可以用填充柄填充下面的单元格,公式会自动在大于或等于90分的旁边写上优秀两字,在大于等于60分小于90分旁边的单无格写上及格,低于60分的写上不及格.
如果你是用插入函数的话,选择if会出现三个格.
第一格填入:a1>=90
第二格填入:优秀
第三格填入:if(a1>=60,"及格","不及格")
希望这个对你的考试有所帮助.
1.IF函数的语法结构
IF函数的语法结构:IF(条件,结果1,结果2),详细说明可以参照表6-4。
2.IF函数的功能
对满足条件的数据进行处理,条件满足则输出结果1,不满足则输出结果2。可以省略结果1或结果2,但不能同时省略。
3.条件表达式
把两个表达式用关系运算符(主要有=,<>,>,<,>=,<=等6个关系运算符)连接起来就构成条件表达式,例如,在IF(a1+b1+50
<>
b1+c1
50,
1,1)函数式中,条件表达式是a1+b1+50
<>
b1+c1
50。
4.执行过程
下面以IF(a1+b1+50
<>
b1+c1
50,
1,1)函数式为例来说明IF函数的执行过程。
先计算条件表达式a1+b1+50
<>
b1+c1
50,如果表达式成立,值为TRUE,并在函数所在单元格中显示“
1”;如果表达式不成立,值为FALSE,并在函数所在单元格中显示“1”。
5.IF函数嵌套的执行过程
如果按等级来判断某个变量,IF函数的格式如下:
IF(E2>=85,"优",IF(E2>=75,"良",IF(E2>=60,"及格","不及格")))
函数从左向右执行。首先计算E2>=85,如果该表达式成立,则显示“优”,如果不成立就继续计算E2>=75,如果该表达式成立,则显示“良”,否则继续计算E2>=60,如果该表达式成立,则显示“及格”,否则显示“不及格”。
参考资料:
http://www.huianren.net/bbs/simple/index.php?t65843.html
回答者:mysky4u
-
魔法师
四级
6-4
23:28
这个函数是用来判断的。比如:A列单元格数据是姓名,B列是性别,C列是基本工资。现要求给所有人员增加工资,男增加80,女增加50,把新增工资结果放入D列对应的单元格。
操作过程:在D1单元格输入=if(B1="男",C1+80,C1+50)
就可以了,下面有再多的数据,就从D1用填充手柄向下填充。
说明:这个函数有三个参数,第一个是逻辑条件,第二个是当值为“真”时的返回值,第三个是当值这“假”的返回值。上例中,对B1单元格进行判断,如果值是“男”(注意,汉字必须用引号,而且是半角),那么就在原工资C1的基础上增加80,如果不是男性,就增加50。
明白了吗?另外,if函数还可以套用,就是在IF里面用IF。

㈦ Oracle数据库入门之函数/类型

Oracle主要数据类型

概述 各种数据库所支持的数据类型大同小异 与标准SQL语言中的数据类型可能略有出入

类型 varchar 可以在声明字段时设置它的长度上限 而且使用它之后 就不必再考虑空格的存在

若插入的字符串的长度低于长度上限 系统就会自动将其缩减为字符串的真实长度

number(m n) 既可以用来表示整型 也可以表示浮点型 但m不可以超过 如果n为 或者省略n 就代表它是整数

date 用来存放日期和时间

blob 通常是在应用程序中使用到它 而不是在数据库中利用SQL指令直接使用

比如通过JDBC技术访问数据库 读写blob或clob类型的字段 即读写长的字符串信息等等

char 它是一种定长的字符类型 在Oracle数据库不区分字符和字符串 它们被统称为字符型或文本型

所谓定长的字符型是指 插入的字符串若没有达到约定的字段长度 系统就会在字符串尾部自动补空格

同样 读取时的字段长度永远是声明时的字段长度 而且在比较字符串内容的时候 也需要考虑到空格的过滤

nchar 它也是定长的字符串类型 它是SQL语言标准中规定的 通常采用Unicode编码来保存不同国家或不同语言的字符

varchar SQL标准在定义varchar时并没有保证能够向前和向后兼容 即有可能随着语言标准的修改而产生不兼容的问题

所以Oracle定义了同varchar型类似的varchar 型 就是为了在Oracle以后的版本中 都永远支持varchar 类型

Oracle这么做就是为了确保此类型向前后兼容 以达到能够在Oracle系列数据库中进行数据的导入和导出的目的

long 它和varchar 的差别在于 它不支持对字符串内容进行检索 即查询时不可以对它的内容进行条件查询

而varchar 和char nchar型等等都可以在查询的时候直接检索字符串的内容

补充 select * from v$nls_parameters;数据库的配置信息以数据表的形式存在 通常称其为关于数据的数据或数据字典

实际上它查询的是数据字典中的一个视图 其中NLS_CHARACTERSET对应的是当前的数据库字符集

缺省均为使用数据库字符集 教程中使用的是安装时默认的ZHS GBK字符集 即汉字占 个字节 英文占 个字节

而NLS_NCHAR_CHARACTERSET对应的是nchar或nvarchar 类型所采用的辅助字符集 即AL UTF 字符集

实际上AL UTF 是一种 位定长的Unicode编码的字符集 而数据库字符集以及这种国家字符集都可以修改

但数据库字符集修改后可能会面临很严重的后果 除非是数据库管理员 普通用户不必对这方面进行深究

数据库中的数据导入导出的时候 如果源数据库和目标数据库所采用的字符集不同 也很容易出问题

函数

概述 函数可以认为是能够完成相对独立的功能的一段代码的集合 Oracle函数相当于其它语言中的方法或过程

Oracle函数可以分为单行函数和多行函数两大类 Oracle函数都是有返回值的

所谓的单行函数是针对查询结果中的每一行都起作用 都会返回一个结果

多行函数也就是所谓分组函数 是针对一组查询的记录 或者说多行 返回一个结果

单行 操作数据项 接受参数并返回处理结果 对每一返回行均起作用 可修改数据类型 可嵌套使用

单行函数分为字符函数 数值函数 日期函数 转换函数 通用函数

多行 也称分组函数 即对一组数据进行运算 针对一组数据(多行记录)只能返回一个结果

多行函数包括avg() count() max() min() sum()等

比如select avg(sal) max(sal) min(sal) sum(sal) max(hiredate) min(hiredate) from emp;

续一 使用Oracle的系统函数中的单行函数可实现诸多功能 如对数据进行计算 控制数据的输出格式

设置和改变日期的显示格式 进行数据类型转换 使用NVL等函数处理空值 实现IF THEN ELSE多路分支逻辑等等

续二 转换函数不会改变表中数据的字段类型和值 它就相当于将数据复制了一份 所转换的是复制之后的数据

数据类型转换包括隐含转换和显式转换两种方式 建议使用显式的数据类型转换 确保SQL语句的可靠性

续三 通用函数适用于包括空值在内的任何类型数据 通常用来实现空值的处理 空值的过滤或设置缺省值等

通用函数包括nvl() nvl () nullif() coalesce() case表达式 decode()等

嵌套 单行函数可以嵌套使用 嵌套层次无限制 分组函数最多可嵌套两层 嵌套函数的执行顺序是由内到外

单行比如select empno lpad(initcap(trim(ename)) ) 姓名 job sal from emp;

多行比如select max(avg(sal)) from emp group by deptno; 其实这里再使用分组函数就没有意义了

说明 通常数据库层面提供的函数 只是进行数据的简单的处理 或者说是只能实现极为常规的功能

所以就不应该 或者说是不要指望在数据库查询的层面来实现特别复杂的业务逻辑

如果应用程序的逻辑跟数据库混在一起的话 会不利于代码的维护和更新

而且也不利于数据库的管理 包括数据移植 数据库导入导出等等

日期类型

概述 在计算机操作系统或者各种高级编程语言中 日期通常会被保存成一个长整数 通常记录的是毫秒

Oracle内部以数字格式存储日期和时间信息 世纪 年 月 日 小时 分钟 秒

缺省的日期格式是DD—MON—YY 可使用sysdata函数获取当前系统日期和时间

运算 日期型数据可以直接加或减一个数值 结果认为日期 约定的该数值代表的是相加减的天数

两个日期型数据可以相减 结果为二者相差多少天 二者不能 因为日期相加是没有意义的

NVL()函数

概述 它用于将空值null替换为指定的缺省值 适用于字符 数字 日期等类型数据

格式 NVL(exp exp ) 如果表达式exp 值为null 则返回exp 值 否则返回exp 值

举例 select empno ename sal m sal+nvl(m ) from emp;

select empno ename job nvl(job No job yet ) from emp;

NVL ()函数

概述 它用于实现条件表达式功能

格式 NVL (exp exp exp ) 如果表达式exp 值不为null 则返回exp 值 否则返回exp 值

举例 select empno ename sal m nvl (m sal+m sal) 总收入 from emp;

NULLIF()函数

概述 它用于数据等价性比较并根据比较结果返回null或其中一个被比较的数值 实际开发中应用并不是很多

格式 nullif(exp exp ) 如果表达式exp 与exp 的值相等 则返回null 否则返回exp 的值

举例 select name 原名 nullif(pen_name name) 化名 from author;

COALESCE()函数

概述 它用于实现数据“接合”功能

格式 coalesec(exp exp ) 依次考察各参数表达式 遇到非null值即停止并返回该值

若表达式均为null值 则返回null 通常最后一个表达式都是能确保不是空值的字段

举例 select empno ename sal m coalesec(sal+m sal ) 总收入 from emp;

CASE表达式

概述 它用于实现多路分支结构

格式 case exp when parison_exp then return_exp

[when parison_exp then return_exp

when parison_expn then return_expn

else else_exp]

end

举例 select empno ename sal

case deptno when then 财务部

when then 研发部

when then 销售部

else 未知部门

end 部门

from emp;

说明 CASE中的每一个表达式(如deptno 财务部等)都可以是复合而成的

这种对齐方式的书写是为了增加可读性 当然也可以把代码写在同一行上

其中case到end之间的整体就相当于普通查询中的一个字段 end后面的“部门”是别名

DEDODE()函数

概述 和case表达式类似 它也用于实现多路分支结构

格式 decode(col|expression search result

[ search result ]

[ default])

举例 select empno ename sal

decode(deptno 财务部

研发部

销售部

未知部门 )

部门

from emp;

COUNT()函数

格式 count(*)返回组中总记录数目

count(exp)返回表达式exp值非空的记录

count(distinct(exp))返回表达式exp值不重复的 非空的记录数目

举例 select count(*) from emp; 缺省的情况下 整个表就是一组

select count(m) from emp; 返回emp表中m字段不为空的记录(行)数目

select count(distinct(deptno)) from emp; 查找deptno值为非空且不重复的记录数目

分组函数与空值

概述 分组函数省略列中的空值 可使用NVL()函数强制分组函数处理空值

举例 select avg(m) from emp; 等价于sum(m)/count(m)

select sum(m) from emp; 计算表中非空的m值的总和

select avg(nvl(m )) from emp; 等价于avg(nvl(m ))/count(*)

GROUP BY子句

概述 它用于将表中数据分成若干小组

格式 select column group_function(column)

from table

[where condition]

[group by group_by_expression]

[order by column];

举例 select deptno avg(sal) from emp group by deptno;

说明 出现在SELECT列表中的字段 如果不是包含在组函数中 那么该字段必须同时在GROUP BY子句中出现

包含在GROPY BY子句中的字段则不必须出现在SELECT列表中 子句执行顺序是where→group by→order by缺省按升序排列

补充 select deptno job avg(sal) from emp group by deptno job order by deptno desc; 基于多个字段的分组

select deptno avg(sal) from emp; 非法

注意 如果没有GROUP BY子句 SELECT列表中不允许出现字段(单行函数)与分组函数混用的情况

WHERE中不允许使用分组函数 如select deptno avg(sal) from emp where avg(sal)> group by deptno; 非法

这跟子句执行的顺序有关 where子句最先执行 在执行where子句的时候还没有执行过group by子句

于是程序不知道这是在分组 也不曾计算过avg(sal)的组内平均工资 所以在where子句中不允许使用分组函数

由于还没有执行过group by子句 所以此时就不确定如何怎么分组以及分多少个组

所以where子句中只能进行初级过滤 此时可以使用HAVING子句实现对平均工资的过滤

HAVING子句

概述 它用于过滤分组

格式 select column group_function(column)

from table

[where condition]

[group by group_by_expression]

[having group_condition]

[order by column];

举例 select deptno job avg(sal)

from emp

where hiredate >= to_date( yyyy mm dd )

group by by deptno job

having avg(sal) >

lishixin/Article/program/Oracle/201311/19087

㈧ 数据库函数有哪些有人吗

有 Funciton , 也就是函数
有 Procere , 也就是存储过程
有 Package, 也就是 代码包 (包含 head 和 body 两部分, 可以理解为一个包里面,定义多个 存储过程或函数)
有 Types, 也就是 自定义数据类型
有 Triggers, 也就是 触发器
有 Jobs, 也就是 数据库作业 (定期执行的)
有 Table , 也就是表 (表有 普通表, 临时表, 分区表)
有 Index, 也就是索引
有 Constraint, 也就是 约束 ( 也就是 某个表里面的某一列, 必须满足什么约束条件)
有 View, 也就是 视图
有 Materialized View, 叫 “物化视图”, 这个有点复杂的。
有 Sequence , 叫 序列号。
有 User , 叫 用户
有 Profile , 叫 用户属性文件 (用于限制 每个用户 占有数据库资源的限制)
有 Synonyms, 叫 “同义词” (用于 便捷地访问 其他用户下的对象)
有 Database link 叫 “链接数据库” (用于访问 其他机器上的 Oracle 数据库)
有 TableSpace 叫 表空间 (用于 存放表数据的)
有 CURSOR 叫 游标, 用于 存储过程里面, 遍历数据的。

㈨ db2数据库常用函数

1、value函数
用法:select value(id,'') from merchant ;
如果id为空,返回空,如果id不为空,返回id的值;
2、nvl函数
用法:select nvl(id,'') from merchant ;
如果id为空,返回空,如果id不为空,返回id的值;
3、substr函数
用法:select substr(src_ip,1,2) from tbl_sybvclear_txn;
从src_ip第一位开始,取两位;
4、length函数
用法:select length(src_ip) from tbl_sybvclear_txn;
计算字符串的长度,不必赘述;
5、ltrim函数,rtrim函数
用法:去掉左侧,右侧的空格;
6、letf函数,right函数
用法:select left(src_ip,3),right(src_ip,3) from tbl_sybvclear_txn;
取src_ip左边3个,右边3个字符串;
7、concat函数
用法:select concat(src_ip,chl_resp) from tbl_sybvclear_txn;
字符串连接,mysql支持三个以上参数,db2只支持两个参数;
8、replace函数
用法:select src_ip,replace(src_ip,'223','55') from tbl_sybvclear_txn;
把src_ip中223全部替换成55;
9、to_char函数,to_date函数,to_timestamp函数
用法:将数值型转成字符型
10、avg函数
用法:select avg(mcht_fee) from tbl_sybvclear_txn;
返回mcht_fee平均值;
11、count函数
用法:太常用,不赘述;
12、sum函数
用法:太常用,不赘述;
13、max函数,min函数
用法:取某列的最大值,最小值;

㈩ oracle数据库哪些函数

1. 单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果,比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整数列)。常用的单行函数有:
字符函数:对字符串操作。

数字函数:对数字进行计算,返回一个数字。

转换函数:可以将一种数据类型转换为另外一种数据类型。

日期函数:对日期和时间进行处理。

2. 聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。比如 SUM(x)返回结果集中 x 列的总和。