php制作网站开发,网站后台安装,wordpress加载latex慢,商城网站前期准备学习Oracle 单行函数#xff1a;
包括字符函数#xff0c;数值函数#xff0c;日期函数#xff0c;转换函数#xff0c;通用函数。 dual是一个”伪表”#xff0c;可以用来测试函数和表达式。 1#xff0c; 字符函数 包括大小写控制函数#xff0c;字符控制函数。 大小…学习Oracle 单行函数
包括字符函数数值函数日期函数转换函数通用函数。 dual是一个”伪表”可以用来测试函数和表达式。 1 字符函数 包括大小写控制函数字符控制函数。 大小写控制函数lowerupperinitcap。 字符控制函数concatsubstrlengthinstrlpad | rpadtrimreplace。 select lower( last_name || first_name) from employees; select upper( last_name || first_name) from employees; select initcap(job_id),job_id from employees;
select concat(Hello,World) from dual; select substr(HelloWorld,1,5) from dual; select length(HelloWorld) from dual; select instr(HelloWorld,W) from dual; select lpad(salary,10,*) from dual;
select rpad(salary,10,*) from dual; select trim(H from HelloWorld) from dual; select replace(Hello,e,o) from dual;
2 数字函数 分别有round — 四舍五入trunc — 截断mod — 求余 select round(85.969,2),round(85.969,0),round(85.969,-1) from dual; select trunc(85.969,2),trunc(85.969,0),trunc(85.969,-2) from dual; select last_name,salary,mod(salary,5000) from employees;
3 日期函数 函数sysdate 返回日期时间 日期的数学运算:
1在日期上加上或减去一个数字结果仍为日期
2两个日期相减返回日期之间相差的天数日期不允许做加法运算无意义
3可以用数字除24来向日期中加上或减去天数。计算员工入职日期距离系统当前时间相差多少个星期 select last_name,(sysdate-hire_date)/7 as 周末 from employees;
日期函数 months_between:两个日期相差的月数。 add_months向指定日期中价上若干月数。 next_day:指定日期的下个星期*对应的日期。 last_day: 本月的最后一天。 round: 日期四舍五入。 trunc日期截断。
select round( months_between(sysdate,1-1月-19)) from dual; select add_months(sysdate,3) from dual; select next_day(sysdate,星期五) from dual; select last_day(sysdate) from dual;
4转换函数 数据类型转换隐性/显性 隐性数据类型转换 Oracle 自动完成转换 Varchar2 or char -- number Varchar2 or char– date Number -- Varchar2 Date -- Varchar2
To_char 函数对日期的转换
1必须包含在单引号中而且大小写敏感。
2可以包含任意的有效的日期格式。
3日期之间用逗号隔开。select last_name,to_char(hire_date,dd month yyyy) from employees;
To_char 函数对字符的转换 select to_date(2019年1月29日 10:10:20,yyyy年mm月dd日hh:mi:ss) From dual
to_char函数对数字的转换 下面是在to_char 函数中经常使用的几种格式:
9 数字
0 零
$ 美元符
L 本地货币符号
. 小数点千位符To_char函数对数字的转换
select last_name, to_char(salary,$999,999,99) 工资 from employees;
5通用函数 下面这些函数适用于任何数据类型同时也适用于空值 nvl(n1,n2) nvl2(n1,n2,n3) nullif(n1,n2) coalesce(n1,n2……,nn)
nvl 函数 将空值转换成一个已知的值 1可以使用的数据类型有日期、字符、数字。2函数的一般形式:– nvl (commission_pct,0)– nvl (hire_date,01-7月-97)– nvl (job_id,No Job Yet)3nvl2 (n1, n2,n3) :n1不为NULL返回n2为NULL返回n3。select last_name,salary,nvl(commission_pct,0),(salary*12) (salary*12*nvl(commission_pct,0)) 工资 from employees; select last_name, salary, commission_pct, nvl2(commission_pct, AA, YY) from employees where department_id in (50, 80);
nullif (n1,n2) : 相等返回null不等返回n1。
select first_name, length(first_name) n1, last_name, length(last_name) n2, nullif(length(first_name), length(last_name)) 结果 from employees;
coalesce函数 1coalesce与nvl相比的优点在于 coalesce可以同时处理交替的多个值。 2如果第一个表达式为空,则返回下一个表达式对其他的参数进行coalesce。 select last_name, coalesce(commission_pct, salary, 10) YY from employees order by commission_pct;
条件表达式 1在 SQL 语句中使用if-then-else 逻辑 2使用两种方法: – case表达式 – decode 函数
select last_name, job_id, salary, case job_id when IT_PROG then 1.10*salary when AD_VP then 1.15*salary when AD_PRES then 1.20*salary else salary end 综合 from employees;
嵌套函数 1单行函数可以嵌套。 2嵌套函数的执行顺序是由内到外。 F3(F2(F1(col,arg1),arg2),arg3)
select last_name, nvl(to_char(manager_id), No) from employees;
本篇的单行函数到这里结束。通过这篇我们应该对单行函数有初始的了解深入了解还需要勤加练习。