所谓函数,就是输入某一值,得到相应的输出结果的功能。相当于一个加工厂,给了原料,最终产出成品。

其中原料 就是参数(parameter). 产品 就是返回值。

函数大致可以分为以下五个种类:

算术函数

字符串函数

日期函数

转化函数

聚合函数

1.算术函数

最最最常用的 : +  —  *   /   没想到这也算是函数吧。

round函数:四舍五入。 round(m,n)  其中m是要处理的数值,n指定保留小数的位数。

假如n指定为2 ,则对数值m保留两位小数,对小数点后第三位进行四舍五入。

abs 函数 :绝对值。 abs(m)  其中m是要进行计算绝对值的数值。

对是null的数值 运用abs函数,得到的结果依然是null。

mod函数 :求余。 mod(m,n)  其中m是要进行求余的数值即被除数,n是除数。得到的结果是余数。

主流DBMS都支持mod函数,但是SQL Server数据库 使用“%”来替代mod函数。

2.字符串函数

|| 函数 : 拼接。 字符串1 || 字符串2  得到的结果是连接在一起的字符串。

||函数在SQL Server数据库中不能使用。SQL Server使用 “+” 来连接字符串。

||函数在MySQL数据库中不能使用。MySQL使用concat(str1,str2)函数来连接字符串。

length函数 : 字符串长度。 length(字符串) 得到的是该字符串的长度。

length函数在SQL  Server数据库中不能使用。SQL Server使用 len(字符串)函数来获得字符串长度。

lower函数 : 转化为小写。 lower函数只对英文字母组成的字符串有效。 lower(字符串)  得到小写的英文字符串。

upper函数 : 转化为大写。 upper函数只对英文字母组成的字符串有效。 upper(字符串)  得到大写的英文字符串。

replace函数 : 字符串替换。replace(str1,str2,str3)  其中 str1表示 对象字符串。 str2表示 要对对象字符串str1中的哪部分

字符串进行替换。str3表示要把str2表示的那部分字符串替换为哪部分字符串。

replace('woshiwangliyue','shi','jiao')    得到的字符串是  'wojiaowangliyue'

substring函数 : 字符串的截取。现在只有 PostgreSQL数据库 和 MySQL数据库支持这个函数的标准写法,如下:

substring(对象字符串  from  截取的起始位置  for  截取的字符数)  得到 截取到的字符串。字符串位置的索引从1开始。

Oracle数据库和DB2数据库 对上面的标准写法进行了简化:

substr(对象字符串,截取的起始位置,截取的字符数)

SQL  Server数据库的写法如下:

substring(对象字符串,截取的起始位置,截取的字符数)

3.日期函数

日期函数有很多种,但是每个不同的数据库在实现这些函数时又略有不同。下面几种时标准SQL提供的函数

current_date函数:得到该SQL语句执行时的日期。  无需参数,直接使用。   年份 月份 日

current_time函数:得到该SQL语句执行时的时间。  无需参数,直接使用。   小时 分钟 秒

current_timestamp函数:得到该SQL语句执行时日期和时间。 无需参数,直接使用。

extract函数 :使用extract函数,可以截取出时间数据中的一部分,如‘年’,‘月’,‘日’,‘小时’,‘分’,‘秒’。

extract(时间元素  from  时间数据)     其中时间元素的常亮值 :year  month day  hour  minute second

时间元素可以是传入的参数  也可使用 current_date    current_time    current_timestamp

4.转化函数

“转化”一词在SQL中主要有两层意思:一是数据类型的转化,一是值的转化。

cast函数  :类型转化。     cast(值 as  想要转化成的数据类型)

cast('0001'  as  integer)     得到 integer类型的 1

cast('2009-10-23' as date)  得到 date类型的  2009-10-23

coalesce函数 :将null转化为其他值。 将返回参数列表中第一个不是null的值。

coalesce(null , '1')   将得到  '1'

coalesce(null, null , 2014) 将得到 2014

5.聚合函数

在前面已经用到过,count函数 ,avg函数 ,min函数 ,max函数。

DML数据操作语言之常用函数的更多相关文章

  1. 6.1课堂笔记—DML(数据操作语言),DQL查询语句

    一.DML(数据操作语言) InnoDB MyISAM 支持事务 不支持事务 不支持全文索引 支持全文索引 支持外键约束 不支持 命令查看默认存储引擎 show variables like '%st ...

  2. DML数据操作语言

    DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中 ...

  3. DML数据操作语言之增加,删除,更新

    1.数据的增加 数据的增加要用到insert语句  ,基本格式是: insert into <表名> (列名1,列名2,列名3,......) values (值1,值2,值3,..... ...

  4. DML数据操作语言之谓词,case表达式

    谓词:就是返回值是真值的函数. 前面接触到的“>” “<” “=”等称为比较运算符,它们的正式名称就是比较谓词.因为它们比较之后返回的结果是真值. 由于谓词 返回的结果是一个真值 ,即tr ...

  5. DML数据操作语言之复杂查询

    1.视图(View) 我们知道,在关系型数据库中,用来保存实际数据记录的是数据表.和表同等概念也是用来保存东西是:视图. 但是数据表是用来保存实际数据记录的,而视图是用来保存常用select语句的. ...

  6. DML数据操作语言之查询(二)

    当我们查询出了N条记录之后 ,我们知道一共是几条记录,或者这些记录某一字段(列值)的最大值,最小值,平均值等,就可以使用聚合函数. 1.聚合函数 聚合函数会将null 排除在外.但是count(*)例 ...

  7. DML数据操作语言之查询(一)

    1.select语句基础 基本语句格式:  select <列名>,.... from <表名>; select子句中列举出希望从表中查询出的列的名称,from子句则指定了选取 ...

  8. MySQL SQL DML (数据操作语言)

    包括 SELECT, UPDATE, DELETE, INSERT SELECT 从数据库表中获取数据 用法 SELECT name FROM students; SELECT name,age FR ...

  9. DML数据操作语言练习

    --创建表T_HQ_BM2 --create table t_hq_bm2 as select * from t_hq_bm; commit; --添加行内容 --insert into t_hq_b ...

随机推荐

  1. POJ 2516 Minimum Cost (费用流)

    题面 Dearboy, a goods victualer, now comes to a big problem, and he needs your help. In his sale area ...

  2. JAVA面试一

    ORACLE分页 -- 要求根据年龄排序后的 第三 行到第6 行的数据 (?) 分页语句 select t.* from ( select t1. *, rownum num from ( selec ...

  3. Servlet 过滤器、拦截器、监听器以及文件上传下载

    在学习之初,总是对过滤器.拦截器.监听器这三个搞不清楚,现在进行一些记录,方便大家交流,也为了提高自身的学习能力! 如果想要了解这三个的作用,首先对servlet流程进行熟悉了解,servlet是客户 ...

  4. 【learning】kd-tree

    吐槽 kd-tree这个东西很早就听说过了但是qwq一直没有去了解 (原因的话..啊哈哈听说是什么跟二维平面之类的东西有关的所以就怂掉了qwq没错就是怂qwq) 但其实好像..真的很暴力啊qwq知道思 ...

  5. 4.2 js没有块级作用域

    JavaScript没有块级作用域.在其他语言上,比如C语言中,有花括号封闭的代码块都有自己的作用域,(如果用ECMAScript的话来讲,就是他们自己的执行环境),因而支持根据条件来定义变量.例如, ...

  6. 深入理解Java虚拟机类加载机制

    1.类加载时机 对于类加载的第一个阶段---加载,虚拟机没有强制的约束,但是对于初始化阶段,虚拟机强制规定有且只有以下的5中情况必须开始初始化,当然,加载.验证.准备阶段在初始化前就已经开始. ①使用 ...

  7. linux 环境下安装oracle11g方法及安装过程中遇上的问题解决方法

     Oralce安装教程 1.先安装需要的依赖包 找到哪个没有安装,直接yum install XX,直到所有的都安装完成.注意,可能一个包安装了,再次执行检查,还是提示没有安装,那么就不需要管他们了, ...

  8. php类中双冒号和->的区别

    就是为了区分对象的方法和属性,和是访问类的静态方法和静态变量,类的静态方法和静态变量是类公用的,不需要实例化也能访问,而对象的方法和属性是每个对象特有的,因此必须先实例化.其他语言如C++,JAVA等 ...

  9. C/S 和B/S 详解 --- 2017-04-25

    来源:脚本之家 一.C/S 架构 1. 概念 C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两 ...

  10. select子句和三种子查询

    一.select子句 五种子句 Where.group by.having.order by.limit Where.group by.having.order by.limit运用的这个顺序不能变 ...