Oracle系列:(8)单行函数

单行函数:只有一个参数输入,只有一个结果输出

多行函数或分组函数:可有多个参数输入,只有一个结果输出

测试lower/upper/initcap函数,使用dual哑表

select lower(‘www.BAIdu.COM‘) from dual;
select upper(‘www.BAIdu.COM‘) from dual;
select initcap(‘www.BAIdu.COM‘) from dual;

测试concat/substr函数,从1开始,表示字符,不论中英文

select concat(‘hello‘,‘你好‘) from dual;正确

select concat(‘hello‘,‘你好‘,‘世界‘) from dual;错误

select ‘hello‘ || ‘你好‘ || ‘世界‘ from dual;正确

select concat(‘hello‘,concat(‘你好‘,‘世界‘)) from dual;正确

select substr(‘hello你好‘,5,3) from dual;

5表示从第几个字符开始算,第一个字符为1,中英文统一处理

3表示连续取几个字符

测试length/lengthb函数,编码方式为UTF8/GBK,一个中文占3/2个字节长度,一个英文一个字节

select length(‘hello你好‘) from dual; 
select lengthb(‘hello你好‘) from dual;

测试instr/lpad/rpad函数,从左向右找第一次出现的位置,从1开始

select instr(‘helloworld‘,‘o‘) from dual;

注意:找不到返回0,大小写敏感

select LPAD(‘hello‘,10,‘#‘) from dual;
select RPAD(‘hello‘,10,‘#‘) from dual;

测试trim/replace函数

select trim(‘ ‘ from ‘  he  ll                ‘) from dual;
select replace(‘hello‘,‘l‘,‘L‘) from dual;

测试round/trunc/mod函数作用于数值型

select round(3.1415,3) from dual;
select trunc(3.1415,3) from dual;
select mod(10,3) from dual;

当前日期:

 select sysdate from dual;

测试round作用于日期型(month)

select round(sysdate,‘month‘) from dual;

测试round作用于日期型(year)

select round(sysdate,‘year‘) from dual;

测试trunc作用于日期型(month)

select trunc(sysdate,‘month‘) from dual;

测试trunc作用于日期型(year)

select trunc(sysdate,‘year‘) from dual;

显示昨天,今天,明天的日期,日期类型 +- 数值 = 日期类型

select sysdate-1 "昨天",sysdate "今天",sysdate+1 "明天" from dual;

以年和月形式显示员工近似工龄,日期-日期=数值,假设:一年以365天计算,一月以30天计算

select ename "姓名",round(sysdate-hiredate,0)/365 "工龄" from emp;

使用months_between函数,精确计算到年底还有多少个月

select months_between(‘31-12月-16‘,sysdate) from dual;

使用months_between函数,以精确月形式显示员工工龄

select ename "姓名",months_between(sysdate,hiredate) "精确月工龄" from emp;

测试add_months函数,下个月今天是多少号

select add_months(sysdate,1) from dual;

测试add_months函数,上个月今天是多少号

select add_months(sysdate,-1) from dual;

测试next_day函数,从今天开始算,下一个星期三是多少号【中文平台】

select next_day(sysdate,‘星期三‘) from dual;

测试next_day函数,从今天开始算,下下一个星期三是多少号【中文平台】

select next_day(next_day(sysdate,‘星期三‘),‘星期三‘) from dual;

测试next_day函数,从今天开始算,下一个星期三的下一个星期日是多少号【中文平台】

select next_day(next_day(sysdate,‘星期三‘),‘星期日‘) from dual;

测试last_day函数,本月最后一天是多少号

select last_day(sysdate) from dual;

测试last_day函数,本月倒数第二天是多少号

select last_day(sysdate)-1 from dual;

测试last_day函数,下一个月最后一天是多少号

select last_day(add_months(sysdate,1)) from dual;

测试last_day函数,上一个月最后一天是多少号

select last_day(add_months(sysdate,-1)) from dual;

注意:

1)日期-日期=天数

2)日期+-天数=日期

时间: 2024-10-13 12:54:48

Oracle系列:(8)单行函数的相关文章

Oracle系列四 单行函数查询语句

单行函数 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以转换数据类型 可以嵌套 参数可以是一列或一个值 包含:字符,数值,日期,转换,通用 字符函数 1.大小写控制函数:这类函数改变字符的大小写. LOWER('SQL Course') sql course UPPER('SQL Course') SQL COURSE INITCAP('SQL Course') Sql Course 示例: SELECT employee_id, last_name, depart

Oracle中的单行函数

Oracle中的单行函数 1 字符函数 UPPER()--将字符串转换为大写 SELECT UPPER('abc') FROM dual; LOWER()-将字符串转换为小写 SELECT LOWER('ABC') FROM dual; INITCAP()-首字母大写,其它字母小写. SELECT INITCAP('hello') FROM dual; REPLACE()-将指定的字符/字符串替换 SELECT REPLACE('abcd efg','cd','XXX') FROM dual;

oracle学习笔记单行函数

单行函数 只对一行进行变换  每行返回一个结果 单行函数分 字符.数值.日期.转换.通用 字符函数:大小写控制函数.字符控制函数 大小写控制函数:lower, upper, initcap 字符控制函数:concat,substr,length,instr,lpad|rpad,trim,replace lower,upper,initcap select lower('SQL') from dual; --结果 sql select upper('sql') from dual; --结果 SQ

oracle之3单行函数之条件表达式

单行函数之条件表达式 Case表达式: 例如: 也可以在条件判断的when中写表达式 Decode函数: 例如: 原文地址:https://www.cnblogs.com/txf0324/p/11038070.html

Oracle 常用的单行函数

数值函数: 1.round:返回四舍五入后的值 round(数字,参数) 参数不写默认为0 后面的参数指定了返回值的精度,或者说是从小数点第几位开始四舍五入,如果不带后面的参数,则默认为四舍五入取整数.精度截取以小数点为分界线,正数表示从以左到右截取并四舍五入,负数表示从右往左截取并四舍五入,精度值可以为小数. select round(1992.54, 1) from dual; select round(1992.54) from dual; select round(1992.54, -1

08 单行函数与组函数

本文将阐述一下linux当中的函数.linux当中函数分为单行函数和组函数,单行函数分为字符串函数.数字函数.日期函数以及其他函数,组函数分为max.min.avg.sum.count. 1 系统.环境和前提约束 win10 64 oracle 11g https://www.jianshu.com/p/1609289f4c5f 2 操作 1 以系统管理员启动cmd命令行 2.单行函数 字符串函数 # 在windows命令行下连接scott sqlplus scott/tiger # lengt

Oracle系列:(12)多行函数

函数:oracle服务器先事写好的一段具有一定功能的程序片段,内置于oracle服务器,供用户调用 单行函数:输入一个参数,输出一个结果,例如:upper('baidu.com')->BAIDU.COM 多行函数:输入多个参数,或者是内部扫描多次,输出一个结果,例如:count(*)->14 统计emp表中员工总人数 select count(*) from emp; *号适用于表字段较少的情况下,如果字段较多,扫描时间多,效率低,项目中提倡使用某一个非null唯一的字段,通常是主键 统计公司

Oracle笔记(三)单行函数

-函数 函数像一个黑盒子一样(看不到里边的构造),有参数返回值,可以为我们完成一定的功能. -单行 这种函数会对结果中的每一行计算一次,每行返回一个结果,单行概念区别于分组函数. 单行函数主要分为以下五类:字符函数.数字函数.日期函数.转换函数.通用函数: 一.字符型函数 ---字符处理-大小写转换 例子:写一个SQL,将'I love Sql'转换成全大写,全小写和首字母大写的形式. SELECT UPPER ('I love Sql'),LOWER('I love Sql'),INITCAP

Oracle单行函数笔记

Oracle中单行函数的分类:1.字符函数substr():字符串截取select substr('我爱你,你知道么?',0,4) from dual执行结果:我爱你,length函数:字符串长度select length('我爱你,你知道么?') from dual执行结果:9Replace()函数:替换指定字符select replace('我爱你,你知道么?','你','的是他') from dual执行结果:我爱的是他,的是他知道么?upper函数:转字母大写select upper('