SQL控制语句中内置函数讲解
一、伪表。系统内置的只有一行一列数据的表。常用来执行函数。
select 函数名 from dual
注:以下所有函数为了方便理解均用 伪表 做为事例!
二、 时间函数
1.sysdate:获取数据库系统的当前时间
例:select sysdate from dual 我们就会获取到当前系统的时间
2.add_months:对日期的月份进行加减
select add_months(日期, 数值) from dual
在这里的数值是必须要写的,如果不想对日期进行加减我们可以把数值写成0!
例:select add_months(sysdate, 1) from dual
此时我取到了当前的时间
如果数值写成1,那么我得出的时间的月份就是当前月份+1;
如果数值写成0,那么我得出的时间的月份就是当前月份;
如果数值写成-1,那么我得出的时间的月份就是当前月份-1;
3.last_day:获取日期所在月份的最后一天
select last_day(日期) from dual
这个日期必须是date类型的,所以如果我们直接输入一个日期例如2012/3/3,它是会报错的,所以我们就要给日期进行转换把原本是char类型的数值转换为date类型。
转换方式:select last_day(to_date('2012/3/3', 'yyyy/mm/dd')) from dual (在这里不过多叙述下面会细讲)
select last_day(sysdate) from dual
这样我们就会取到当前月份的最后一天。
三、转换函数
1.to_date:把特定格式的字符串转换成日期型数据
例:select to_date('字符串', 'yyyy/mm/dd hh24:mi:ss') from dual
select to_date('2010/3/5 12:12:12', 'yyyy/mm/dd hh24:mi:ss') from dual
当我想用12小时制是我就不需要写24,直接hh就可以了。当然前面的小时数值要在1-12之间
2.to_char:把其他数据类型转换成特定格式的字符串类型
例:select to_char('日期型数据', 'yyyy/mm/dd hh24:mi:ss') from dual
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual
to_char 一般会用在时间的提取以及年龄的计算上,这是我们把日期型数据转变成我们想要的年份、月份。我们可以只写yyyy这要就只转换成了年份。
3.cast:通用转换函数
例:select cast(数据源 as 数据类型(长度)) from dual
四:数值函数
1.abs:求绝对值
例:select abs(-1) from dual
求出的值为1
2.mod:求模(求余数)
例:select mod(m,n) from dual
表示m/n的余数
3.ceil:求上限值
例:select ceil(9.1) from dual
它的上限值就是10,
4.floor:求下限值
例:select floor(9.1) from dual
它的下限值就是9,
(上限值与下限值就是最接近它的正数值)
5.round:四舍五入(从小数点后第一位开始四舍五入)
例:select round(9.499) from dual
四舍五入后是9
例:select round(m, n) from dual
当n>0时,保留小数点后n位
例:select round(9.499, 2) from dual
就是9.499四舍五入后保留小数点后两位数
当n = 0,四舍五入后取整
例:select round(9.499, 0) from dual
四舍五入后是9
当n < 0,小数点前n位变0并四舍五入
例:select round(7.499, -1) from dual
直接从小数点前第一位开始四舍五入,结果是10
6.trunc取整数,直接舍去小数点后面的。
例:select trunc(90.99) from dual
舍去后面小数取整就是90
例:select trunc(m, n) from dual
n > 0,保留小数点后n位
例:select trunc(90.99, 1) from dual
那么保留一位后结果就是90.9
n = 0,直接取整
例:select trunc(90.99, 0) from dual
相当于 trunc(90.99)结果是90
n < 0,小数点前n位变0
例:select trunc(90.99, -1) from dual
那么结果就是90。 如果是-2的话结果就是0
五:字符串函数
1.length:获取字符串长度
例:select length(' ') from dual
2.trim 去除字符串的左右空格
例:select trim(' ') from dual
ltrim 去除字符串的左空格
例:select ltrim(' ') from dual
rtrim 去除字符串的右空格
例:select rtrim(' ') from dual
3.replace:查找并替换字符串
例:select replace('要替换的字符串', '字符串中要被清除的内容') from dual;
要替换的字符串也可以写成字段的名称
例:select replace('中文', '文') from q; / select replace(A, '文') from q;
输出结果便是中。
例:select replace('要替换的字符串', '要被替换的内容', '新内容') from dual;
要替换的字符串也可以写成字段的名称
例:select replace('中文', '文', '国') from q; / select replace('A', '文', '国') from q;
意思是把 '文'字替换成'国'字' 输出结果便是中国。
4.查找字符串并返回首个的位置
特点:字符串的首位从开始、未找到的返回值是0
例:select instr('字符源', '要查找的字符串') from q;
字符源也可以写成字段的名称
例:select instr('中文', '文') from q; / select instr(A, 's') from q;
前者输出结果便是2,因为文在其字段中的位置是2。后者输出结果是0,疑问在字段中没有找的's'。
5.substr:截取字符串
特点:开始位置>=0,从左开始计算位置。开始位置<0,从右开始计算位置。
例:select substr('要截取的字符串', '开始位置') from q;
select substr('中文', '1') from q;
从左边第一个字符开始截取,那么截取后的结果就是'中文'
select substr('中文', '-1') from q;
从右边第一个字符开始截取,那么截取后的结果就是'文'
(注意都是从左往右截取,只是起始位置不一样而已)
六:替换函数
1.nvl:把null替换成默认值
用法:select nvl('字段名', '默认值') from q;
2.nvl2: 把null替换成默认值,把非空替换成新的值
用法:select nvl2('字段名', '非空的新值', '为空的默认值') from q;
3.decode:匹配字段的值并替换成新的值
用法:select decode(字段名, 值1, 新值1, 值2, 新值2,...,缺省值) from q;
七:聚合函数:
1.count('字段名') 或 count(字段序列号) 或 count(*) 此方法效率低:统计符合条件的字段内容非空的数据条数;
2.avg('字段名'):统计符合条件的数值类型字段内容非空的数据的平均值;
3.sum('字段名'):统计符合条件的数值类型字段内容非空的数据的合计数;
4.max('字段名'):获取数据集合中某字段的最大值;
5.min('字段名'):获取数据集合中某字段的最小值;
SQL控制语句中内置函数讲解的更多相关文章
- Python中内置函数的介绍
内置函数的功能介绍 常用内置函数如下: 1.abs() 绝对值 格式:abs(x) 例如:print(abs(-18)) >>> 18 返回值:number #该函数主要用于数值类的 ...
- Python中内置函数
python提供了很多的内置函数,这些内置的函数在某些情况下,可以起到很大的作用,而不需要专门去 写函数实现XX功能,直接使用内置函数就可以实现,下面分别来学习内置函数的使用和案例代码. abs(), ...
- 【SQL】MySQL内置函数中的字符串函数和日期时间函数
字符串函数 --拼接字符串组成新的字符串 Select concat(‘A’,’B’); --返回字符串长度 Select length(“CAT”) --返回子字符串在字符串中首次出现的位置,没有返 ...
- SQL Server 常用内置函数(built-in)持续整理
本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...
- SQL Server 常用内置函数
本文用于收集在运维中经常使用的系统内置(built-in)函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID ...
- oracle数据库 SQL语句、内置函数大全
1.数值函数 函数 返回值 样例 显示 CEIL(n) 大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n) 小于等于数 ...
- Mysql 存储过程 + python调用存储过程 (内置函数讲解及定义摘抄)
定义 存储过程:就是为以后的使用而保存的一条或多条 MySQL语句的集合.可将其视为批文件,虽然它们的作用不仅限于批处理. 个人使用存储过程的原因就是因为 存储过程比使用单独的SQL语句要快 有如下表 ...
- SQL Server 2012 - 内置函数
文本函数 --系统函数位置: 可编程性→函数→系统函数 -- 查询ASCII码 select ASCII('a') --查询数值对应的ASCII码 select CHAR(97) --Left . R ...
- javascript中内置函数
一.基本函数库 split():用于把一个字符串分割成字符串数组 toUpperCase(): substr(): 长度 length() 拼接(两种) + concat():合并多个字符串,并返回合 ...
随机推荐
- PHP API 框架开发的学习
基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用.对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户.开发者和中小网站带来了更大的 ...
- JVM的启动流程
JVM工作原理和特点主要是指操作系统装入JVM,是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂 ...
- 其他主流开源硬件简介BeagleBone Black快速入门
其他主流开源硬件简介BeagleBone Black快速入门 1.3 其他主流开源硬件简介 开源硬件种类繁多,但主要有两款开源硬件常与BeagleBone比较.它们就是Arduino和Raspberr ...
- 解决eclipse中git插件中的cannot open git-upload-pack问题
有时候在eclipse上使用插件egit向github或者osc上同步代码时,有时候会发现出现cannot open git-upload-pack这个问题. 一般引起这个问题的原因有两个:一.网络问 ...
- Revit二次开发示例:HelloRevit
本示例实现Revit和Revit打开的文件的相关信息. #region Namespaces using System; using System.Collections.Generic; using ...
- Android SDK Manager无法更新,内容显示不全的解决办法
最近在初学android开发,在更新SDK的时候遇到了麻烦. 发现Extras文件夹下为空,没有内容,包括sdk列表也不全面,更新也没有反应 解决方法: 1.在SDK Manager下Tools-&g ...
- A Walk Through the Forest[HDU1142]
A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- webkit浏览器渲染影响因素分析
前言:浏览器的渲染对性能影响非常大,特别是在移动端页面,在宏观上,我们可以参考雅虎那20几条军规来操作,但在微观渲染层面,实际还没有一套相对成型的理论做为依据. 本文只是抛砖引玉,带大家进入微观的优化 ...
- 安装phpunit
按照网上的提示,将go-pear.phar和phpunit.phar都放到php.exe所在的目录.但是以管理员身份运行时,输入命令php PEAR/go-pear.phar或php -d phar. ...
- php phpeclipse + xampp 配置安装过程
就想test是否能配置成功,下载apache,php5.3,安装开始 apache的安装,一路next,遇到Server Information,随便填写即可,安装路径自己可选 php的安装,将下载的 ...