Oracle_单行函数

Oracle_单行函数


--dual是一张虚拟表,用于做测试

select sysdate from dual;

select 1 + 1 from dual;  

字符函数initcap(),lower(),upper(),substr(),replace(),length()

--1.字符函数

----首字母大写,全部小写,全部大写

select initcap(‘hello world‘),lower(‘LIASDFALASDLF ASLKDF‘), upper(‘sdfafa dsf‘) from dual;  


--2.查询所有员工的姓名,分别以首字母大写,其余字母小写的形式显示;

select ename, initcap(ename), lower(ename) from emp;  


--3.字符串的截取

--substr():第一个参数表示被截取的字符串,第二个参数表示起始位置,第三个参数表示截取的长度

-----------第一个参数表示被截取的字符串

-----------第二个参数表示截取的开始位置

-----------第三个参数可以省略,表示一直截取到末尾

--查询员工的姓名,并显示员工姓名的前三位字母

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

--查询员工的姓名,并显示员工姓名的后三位字母

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


--4.查询所有员工的姓名,将姓名中的‘A’字符替换为‘a’

select ename, replace(ename, ‘A‘, ‘a‘) as replace from emp;  


--5.查看字符串的长度

select ename from emp where length(ename)=6;  

数值函数ceil(),floor(),round(),trunc()

--6.数值函数  ceil()  floor()  round()  trunc()  

select ceil(12.00001) from dual;

select floor(12.99999) from dual;

select round(12.43) from dual;

select trunc(12.88) from dual;

select round(88.44, 1) from dual;

select round(88.45, 1) from dual;

select round(44.45, -1) from dual;

select round(45.45, -1) from dual;

select round(155.45, -2) from dual;  

日期函数add_months(),next_day(),last_day()

--7.日期函数

select sysdate from dual;

----7.1查看所有员工到今天为止入职的月份,保留到整数

select hiredate, round(months_between(sysdate, hiredate), 0) from emp;

----7.2距离当前日期一个月后的日期

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

----7.3得到距离下一个指定星期最近的日期

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

----7.4last_day:表示当前月份的最后一天是记号

select sysdate, last_day(sysdate) from dual;  

转换函数to_number(),to_date(),to_char()

select 1 + to_number(‘123‘) from dual;

select 1 + ‘123‘ from dual;

select 1 + to_char(123) from dual;  


--1.to_date将字符串转化为日期类型

select * from emp where hiredate = ‘17-12月-80‘;

select * from emp where hiredate = to_date(‘1980-12-17‘,‘yyyy-MM-dd‘);

select to_date(‘1840-1-1 18:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘) from dual;  


--2.to_char将日期转化为字符串

select 123,to_char(123) from dual;

select sysdate,to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual;

select ename,to_char(hiredate,‘yyyy‘)year from emp;  

其他函数nvl(),nvl2()

--3.1nvl:如果待判断的值为null,那么返回第二个参数,否则返回本身

--注意,nvl第二个参数的类型必须与第一个参数的类型一致

----查询所有员工的月薪,提成,总工资

select sal,nvl(comm,0),sal+nvl(comm,0) from emp;  


--3.2nvl2(expr1,expr2,expr3)

--表达式1为空的时候,返回表达式3,否则返回表达式2

select sal,comm,nvl2(comm,sal+comm,sal) total from emp;  

decode:多重判断  

--查看所有的职位信息

select distinct job from emp;

select distinct job,decode(job,‘CLERK‘,‘职员‘,‘SALESMAN‘,‘销售‘,‘PRESIDENT‘,‘董事长‘,‘MANAGER‘,‘经理‘,‘ANALYST‘,‘分析师‘)job_zh

from emp;  

时间: 2024-09-30 22:39:19

Oracle_单行函数的相关文章

ORACLE_单行函数_CEIL FLOOR ROUND TRUNC

单行函数 第一部分 第1章 数值型函数 --1 创建用户指定其使用的表空间 --1.1 查看当前表空间状态 COL tablespace_name FOR a15; COL file_name FOR a50; SELECT tablespace_name,file_id,file_name FROM dba_data_files; --1.2 创建目录 mkdir -p /u01/app/oracle/oradata/PROD/disk6/ --1.3 创建表空间 CREATE TABLESP

sql的基础语句-单行函数,dual,数字函数,日期函数,表连接,集合运算,分组报表,单行子查询,多行子查询

3. 单行函数 3.1 转换函数 select ascii('A'),chr(65) from dual; select to_char(1243123),1231451 from dual;靠左边的就是字符串,靠右边的就是数字 select to_char(123512a121) from dual;   --错误的写法,没有引号表示数字,但是数字里面包含了字母,不合法的输入值 select to_number('123141211') from dual; select to_number(

MySQL高级查询函数(单行函数)

函数的分类:1,单行函数:对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果.2,多行函数:对多条记录输入值进行计算,得到多条记录对应的单个结果. 单行函数: ①:字符串函数(用户处理单行的字符数据,比如大小写转换,字符串截取,拼装等) a.LOWER/UPPER(LOWER(str):返回字符串str变为小写字母的字符串.UPPER(str):返回字符串str变为大写字母的字符串) SELECT UPPER(nam

单行函数

1.单行函数: 操作数据对象接收函数返回一个结果只对一行进行操作每行返回一个结果可以转换数据类型可以嵌套参数可以是一列或一个值 2.单行函数分为: 字符: SELECT employee_id, CONCAT(first_name, last_name) NAME, job_id, LENGTH (last_name), INSTR(last_name, 'a') "Contains 'a'?" FROM employees WHERE SUBSTR(job_id, 4) = 'REP

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('

Oracle学习(三):单行函数

1.知识点:可以对照下面的录屏进行阅读 SQL> --字符函数 SQL> --字符串的转换 SQL> select lower('hellO WORld') 转小写,upper('hellO WORld') 转大写,initcap('hello world') 首字母大写 2 from dual; SQL> --substr(a,b) 从a中,第b位开始取,取右边所有的字符 SQL> select substr('Hello World',4) from dual; SQL&

Using Single-Row Functions to Customize Output使用单行函数自定义输出

DUAL is a public table that you can use to view results from functions and calculations. SQL> select * from DUAL; D - X SQL> desc DUAL; Name                                      Null?    Type ----------------------------------------- -------- ------

ORACLE 第3节 单行函数

?SQL中不同类型的函数 ?在SELECT 语句中使用字符,数字,日期和转换函数 ?使用条件表达式 两种SQL函数 单行函数: ?操作数据对象 ?接受参数返回一个结果 ?只对一行进行变换 ?每行返回一个结果 ?可以转换数据类型 ?可以嵌套 ?参数可以是一列或一个值 function_name [(arg1,arg2,...)] 字符型函数: 大小写控制函数 大小写控制函数: 这类函数改变字符的大小写. LOWER UPPER INITCAP 显式数据类型转换: SELECT TO_CHAR(sy