ORACLE SQL单行函数(三)【weber出品必属精品】
16.L:代表本地货币符,这个和区域有关。这个时候我们想来显示一下人民币的符号:¥
$ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED CHINESE'_CHINA.AL32UTF8 ---修改成简体中文+地区+字符集 source .bash_profile ---让环境变量生效 [oracle@oracle ~]$ sqlplus scott/tiger SQL*Plus: Release 10.2.0.5. - Production on 星期五 8月 :: Copyright (c) , , Oracle. All Rights Reserved. Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5. - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>---如果你是用x-shell或者putty远程连接linux的话,需要将你的客户端的字符集也改回来
17.TO_NUMBER:将一个字符串转化为数字
把十进制转换为十六进制:(to_char)
SQL> select to_char(,'xxx') from dual; TO_CHAR(,'
------------
a
把十六进制转换为十进制:(to_number)
SQL> select to_number('a','xxx') from dual; TO_NUMBER('A','XXX')
--------------------
18.日期的两位表示方式:RR和YY
SQL> select * from emp where hiredate=to_date('17-12-80','dd-mm-rr'); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ------ --------- ----- ------------------- ----- ---------- ------
SMITH CLERK -- :: 日期的两位表示方式:RR和YY YY:始终与当前世纪一致 RR:得到的是与当前年最近的年份
19.操作NULL值的函数
NVL(expr1, expr2)
如果expr1为null,则返回expr2,否则返回expr1
可以使用的数据类型是数字、日期、字符型.
数据类型必须能够匹配(expr1和expr2的类型必须要一致)
SQL> select ename ,comm,nvl(comm,) nvl from emp; ENAME COMM NVL
------------------------------ ---------- ----------
SMITH
ALLEN
WARD
JONES
MARTIN
20.NVL(expr1, expr2,expr2)
如果expr1非空,就返回expr2
如果expr1为空,就返回expr3
SQL> select ename,sal,comm,sal+comm,sal+nvl(comm,),nvl2(comm,'工资加奖金','纯工资') "收入类别" from emp; ENAME SAL COMM SAL+COMM SAL+NVL(COMM,) 收入类别
------ ----- ---------- ---------- --------------- ---------------
SMITH 纯工资
ALLEN 工资加奖金
WARD 工资加奖金
JONES 纯工资
MARTIN 工资加奖金
BLAKE 纯工资
CLARK 纯工资
SCOTT 纯工资
KING 纯工资
TURNER 工资加奖金
ADAMS 纯工资
JAMES 纯工资
FORD 纯工资
MILLER 纯工资
21.NULLIF(expr1,expr2)
如果expr1和expr2相同就返回空,否则返回expr1
SQL> select ename,nullif(ename,'KING') from emp; ENAME NULLIF(ENAME,'KING')
------ ------------------------------
SMITH SMITH
ALLEN ALLEN
WARD WARD
JONES JONES
MARTIN MARTIN
BLAKE BLAKE
CLARK CLARK
SCOTT SCOTT
KING
TURNER TURNER
ADAMS ADAMS
JAMES JAMES
FORD FORD
MILLER MILLER
22. COALESCE(expr1,expr2,expr3,…exprn):返回括号内第一个非空的值
23.条件表达式函数
decode与case when
区别:
1. decode是oracle自己的函数,case when是SQL99标准函数
2. decode只能进行等值判断,case when可以进行非等值判断
SQL> select ename,job,case job when 'CLERK' then '1.clerk'
when 'SALESMAN' then '2.saleman'
else 'other' end
from emp ENAME JOB CASEJOBWHEN'CLERK'THEN'1.CL
------ --------- ---------------------------
SMITH CLERK .clerk
ALLEN SALESMAN .saleman
WARD SALESMAN .saleman
JONES MANAGER other
MARTIN SALESMAN .saleman
BLAKE MANAGER other
CLARK MANAGER other
SCOTT ANALYST other
KING PRESIDENT other
TURNER SALESMAN .saleman
ADAMS CLERK .clerk
JAMES CLERK .clerk
FORD ANALYST other
MILLER CLERK .clerk
decode用法实例
SQL> select ename,decode(job,'SALESMAN','CLERK','UNKNOWN') from emp; ENAME DECODE(JOB,'SALESMAN'
------ ---------------------
SMITH UNKNOWN
ALLEN CLERK
WARD CLERK
JONES UNKNOWN
MARTIN CLERK
BLAKE UNKNOWN
CLARK UNKNOWN
SCOTT UNKNOWN
KING UNKNOWN
TURNER CLERK
ADAMS UNKNOWN
JAMES UNKNOWN
FORD UNKNOWN
MILLER UNKNOWN
使用case when进行非等值判断:
SQL> select ename,sal,case when sal between and then
when sal between and then
when sal between and then
when sal between and then
else end grade from emp ENAME SAL GRADE
------ ---------- ----------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
24.函数的嵌套
单行的函数可以嵌套到任何一个层次
嵌套函数的计算顺序——先计算深层嵌套,再计算浅层嵌套.
SQL> select ename,mgr,nvl(to_char(mgr),'no manager') from emp; ENAME MGR NVL(TO_CHAR(MGR),'NOMANAGER')
------ ----- ----------------------------------------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING no manager
TURNER
ADAMS
JAMES
FORD
MILLER
ORACLE SQL单行函数(三)【weber出品必属精品】的更多相关文章
- ORACLE SQL 组函数【weber出品必属精品】
组函数:对一组数据进行加工,每组数据返回一个值 常用的组函数:count() avg() max() min() sum() count()函数 1. count(*) :返回总共的行 ...
- 创建存储过程和函数【weber出品必属精品】
一.什么是存储过程和函数 1. 是被命名的pl/sql块 2. 被称之为pl/sql子程序 3. 与匿名块类似,有块结构: 声明部分是可选的(没有declare关键字) 必须有执行部分 可选的异常处理 ...
- oracle数据库事务相关【weber出品必属精品】
事务的概念:事务:一个事务由一组构成一个逻辑操作的DML语句组成 事务有开始有结束,事务以DML语句开始,以Conmmit和Rollback结束.以下情况会使得事务结束: 1. 执行COMMIT 或者 ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】
<ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】
安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...
- ORACLE SQL单行函数(一)【weber出品必属精品】
1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数 ...
- ORACLE SQL单行函数(二)【weber出品必属精品】
11.dual:虚表,任何用户都可以使用,表结构如下: SQL> desc dual Name Null? Type -------------------------------------- ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】
数据库软件和数据库都建好了,基本上可以说完成90%的工作,但是美中不足的就是企业管理器还没有安装好,现在我们就开始安装企业管理器吧. 安装之前我们先将补丁给补上.补丁我们也是采用禁默安装.补丁:p83 ...
- 静默安装ORACLE【weber出品必属精品】
安装配置系统环境安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) 打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, liba ...
随机推荐
- PHP之路——微信公众号授权获取用户信息
官方文档链接:http://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html /** * 获取code */ public f ...
- UIImageView设置为圆形
CGFloat headimageX = self.view.frame.size.width * 0.2; CGFloat headimageY = self.view.frame.size. ...
- wxpython线程安全的方法
wx中实现了3个线程安全的函数.如果在线程中,直接访问并更新主线程的UI,会遇到问题,有时候阻塞UI或者更新不起作用,有时严重的话会引起python崩溃. 三个安全线程如下: wx.PostEvent ...
- asp.net(C#)写SQL语句技巧
/*添加SQL*/string fields = "";string values = "";fields += "xm"; values ...
- C语言学习--链表
#include "node.h" #include<stdio.h> #include<stdlib.h> //typedef struct _node ...
- 转:MFC之COleVariant
COleVariant 本质上是一个枚举,用同一种类型来表达不同的子类型.如同boost中的variant. 例子 COleVariant var(3.6f); float v = var.fltVa ...
- [Android] 输入系统(二)
在上一篇文章的最后,我们发现InputDispatcher是调用了InputChannel->sendMessage把键值发送出去,那么相应的,也有接收键值的地方.接收函数是InputChann ...
- 科通芯城:用B2C的方式做B2B
上线两年,科通芯城的年收入有望突破50亿,一个传统分销商用2c的方式做b2b,也能进行自我革命. 文 | 王海天 这个网站的名字叫科通芯城,于2011年下半年在深圳正式上线,卖的商品是IC元器件,包括 ...
- perl /m
<pre name="code" class="html">[root@backoffice01 ~]# cat a1.pl my $_=" ...
- Linux下查看进程(程序)启动时的环境变量
背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题, ...