单行函数

所谓的单行函数就是完成某一具体功能的操作函数,单行函数一共分为一下几种:
字符串函数、日期函数、数值函数、转换函数、通用函数。
单行函数的格式:“返回值 函数名称(参数)”

一、字符串函数

upper       将传入的字符变为大写字母
lower       将传入的字符变为小写字母 
initcap     开头首字母大写,其它是小写
length      获得指定字符串的长度
substr      字符串的截取
replace     将新数据替换旧数据

1.将所有字母转化为大小写

① select upper('hello') from emp;
_4$FYWCJCE`}JM(XKXK~50G.png

此时会有14行,为了方便查询oracle创建了一个虚拟表dual;select upper('hello') from dual;

_4$FYWCJCE`}JM(XKXK~50G.png

②将所有的名字转换为小写

select lower(ename) from emp;

在不区分大小的情况下统一将字母转换为大写或小写

select* from emp where ename =upper('&inputname');

③将雇员姓名以首字母大写的形式保存

select ename,initcap(ename) from emp;

④取的字符串长度

select length('helloworld!') from dual;
select* from emp where length(ename)=5;

⑤截取字符串
截取雇员姓名的前三位字母

  select ename,substr(ename,1,3) from emp;

截取每个雇员姓名的后三位字母

select ename,substr(ename,-3) from emp;

以上截取方式只能在oracle中实现,在程序不能运用此方法。

也可以使用以下方式截取后三位字母
select ename,substr(ename,length(ename)-2) from emp;

二、数值函数
数值函数主要进行数字的处理,最为核心的是主要有三个。

round   实现数据的四舍五入
trunc   实现数据的截取
mod     求模(计算余数)
①  select round(781.562) from dual;
_round.png

②trunc和round区别不大,唯一的区别是不会进位

select trunc(781.56),trunc(1512.23),trunc(791.5)
from dual;
_trunc.png

③mod

select mod(10,3) from dual;
_mod.png

三、日期函数
1.实现日期的基本操作
sysdate 只显示当前的日期

① select sysdate-7,sysdate+12 from emp;
_date.png

对于日期而言每个月的天数是不同的,所以直接进行加减运算不是很准确。
②查询雇员的编号、姓名、职位、雇用天数

select empno,ename,job,sysdate-hiredate from emp;

如果直接使用天数来计算年月日,那么最终结果不一定准确。

2.为了准确的进行日期的计算,oracle里面提供了四个日期函数

add_months  在指定的日期上增加月数
months_between 返回两个日期之间的天数
last_day  取得指定日期所在的月
next_day  返回下一个指定的月

①在当前下增加指定的月份

select add_months(sysdate,4),add_months(sysdate,20)
from emp;
_add.png

②计算雇员到今天为止的雇用月数

select empno,ename,hiredate,
months_between(sysdate,hiredate) from emp;

③计算当期时间所在月的最后一天日期

select last_day(sysdate) from emp;

④计算下期的日期

select next_day(sysdate,'星期二') from emp;

四、转换函数

字符串  to_char  将日期或数字格式化为指定的字符串
日期 to_date   按照指定的转换格式编写字符串后将其变为日期型数据
数字 to_number 将字符串转换为数字

①将日期,时间显示格式化

select to_char(sysdate,'yyyy-mm-dd') from dual;
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss')from dual;
_date.png

查询2月份的雇员信息

select* from emp where to_char(hiredate,'mm')=2;

拆份年月日

select to_char(sysdate,'yyyy'),to_char(sysdate,'mm'),to_char(sysdate,'dd')
from emp;

②转日期函数

select to_date('2018-4-25','yyyy-mm-dd') from emp;

③转数字函数

select to_number('2') from dual;
number.png

oracle中只有字符串的转换最重要,其他都是次要的,数字转换其结果不变。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • SQL函数 SQL函数分类 SQL函数主要有两种,分为单行函数、多行函数单行函数:只对一行进行变换,每行返回一个结...
    MPPC阅读 681评论 0 7
  • 字符函数 lower 转换小写 upper 转换大写 initcap 转换首字母大写 concat 字符连接 su...
    孙竞博阅读 334评论 0 0
  • 字符函数 lower 转换小写 upper 转换大写 initcap 转换首字母大写 concat 字符连接 su...
    李哈哈_bing阅读 337评论 0 0
  • 字符函数 lower 转换小写 upper 转换大写 initcap 转换首字母大写 concat 字符连接 su...
    Mtllll阅读 435评论 0 1
  • 今日参加家长课堂,学习了徐教授的《微习惯》讲座。主要讲从一些微量的行为开始好习惯的养成。微小的目标容易达成,使人有...
    远芳阅读 242评论 0 0