DML数据操作语言之常用函数
所谓函数,就是输入某一值,得到相应的输出结果的功能。相当于一个加工厂,给了原料,最终产出成品。
其中原料 就是参数(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数据操作语言之常用函数的更多相关文章
- 6.1课堂笔记—DML(数据操作语言),DQL查询语句
一.DML(数据操作语言) InnoDB MyISAM 支持事务 不支持事务 不支持全文索引 支持全文索引 支持外键约束 不支持 命令查看默认存储引擎 show variables like '%st ...
- DML数据操作语言
DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中 ...
- DML数据操作语言之增加,删除,更新
1.数据的增加 数据的增加要用到insert语句 ,基本格式是: insert into <表名> (列名1,列名2,列名3,......) values (值1,值2,值3,..... ...
- DML数据操作语言之谓词,case表达式
谓词:就是返回值是真值的函数. 前面接触到的“>” “<” “=”等称为比较运算符,它们的正式名称就是比较谓词.因为它们比较之后返回的结果是真值. 由于谓词 返回的结果是一个真值 ,即tr ...
- DML数据操作语言之复杂查询
1.视图(View) 我们知道,在关系型数据库中,用来保存实际数据记录的是数据表.和表同等概念也是用来保存东西是:视图. 但是数据表是用来保存实际数据记录的,而视图是用来保存常用select语句的. ...
- DML数据操作语言之查询(二)
当我们查询出了N条记录之后 ,我们知道一共是几条记录,或者这些记录某一字段(列值)的最大值,最小值,平均值等,就可以使用聚合函数. 1.聚合函数 聚合函数会将null 排除在外.但是count(*)例 ...
- DML数据操作语言之查询(一)
1.select语句基础 基本语句格式: select <列名>,.... from <表名>; select子句中列举出希望从表中查询出的列的名称,from子句则指定了选取 ...
- MySQL SQL DML (数据操作语言)
包括 SELECT, UPDATE, DELETE, INSERT SELECT 从数据库表中获取数据 用法 SELECT name FROM students; SELECT name,age FR ...
- DML数据操作语言练习
--创建表T_HQ_BM2 --create table t_hq_bm2 as select * from t_hq_bm; commit; --添加行内容 --insert into t_hq_b ...
随机推荐
- Android继承AppCompatActivity实现全屏设置
转载 2016年05月25日 13:20:25 标签: android / style / android studio / 继承 4839 Android studio创建新项目后Activity默 ...
- 【BZOJ1926】粟粟的书架(主席树,前缀和)
[BZOJ1926]粟粟的书架(主席树,前缀和) 题面 Description 幸福幼儿园 B29 班的粟粟是一个聪明机灵.乖巧可爱的小朋友,她的爱好是画画和读书,尤其喜欢 Thomas H. Co ...
- 【NOIP2012】疫情控制(二分,倍增,贪心)
洛谷上的题目链接,题目不在赘述 题解 既然要时间最短,首先考虑二分. 因此,考虑二分时间,问题转换为如何检查能否到达. 如果一支军队一直向上走,能够到达根节点,那么他可以通过根节点到达其他的节点,因此 ...
- [Shoi2007]Vote 善意的投票
题目描述 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己的主见,但是为了照顾一下自己朋友的想法,他们也可以投和自己本来 ...
- 【MyBatis源码分析】Configuration加载(下篇)
元素设置 继续MyBatis的Configuration加载源码分析: private void parseConfiguration(XNode root) { try { Properties s ...
- 关于java构造函数,静态代码块,构造代码块,和普通代码块相关总结(一)
构造函数.构造代码块和静态代码块容易混淆,它们的执行条件和执行顺序也常常容易犯迷.这里就针对这些问题说一下我个人的一些理解,顺便对这部分内容做个小结. 一.构造函数 格式:类名(参数1,参数2,-){ ...
- HandsonTable日期控件的汉化
由于项目的需要,想把HandsonTable自带的日期中英文替换成中文.其实这个不难,只要在库文件中替换下就可以了,替换的效果对比如下: 如果有需要的同学,可以在此处下载 By QJL
- 关于现在IT行业从业者一些建议
本人从事IT行业,确切的说应该是软件开发行业已经9个年头了,从刚开始小白也慢慢的已经有了自己独有的开发习惯. 近些年进入行业的人越来越多,有可能确实看到了这行业就业及薪资待遇,更多的也是随着互联网及移 ...
- 【OpenCV-Python:实现人脸、人眼、嘴巴识别】实战(一)
AI时代的到来,手机上的APP开始应用人脸识别去完成事情,如iphoneX的人脸解锁,百度自动贩卖机的人脸识别系统进行支付,支付宝的人脸识别登录等,提高了使用软件的易用性,但也因为其便利性,在某些市面 ...
- JDBC控制事务
概念 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并 ...