2----单行函数
来源:互联网 发布:java 1.7 32位 linux 编辑:程序博客网 时间:2024/06/05 19:25
1.连接字符串||
3.between and的使用
5.不等于
6.order by
7.字符操作函数
8.数值函数
(2)截断小数位trunc
获取当前日期:
10.转换函数
操作数字:加,
11.通用函数
(2)decode
||
比如:
select '编号是'||empno||'的雇员,姓名是:'|| ename||'工作是:'||job from emp结果如下:
1编号是7369的雇员,姓名是:SMITH工作是:CLERK2编号是7499的雇员,姓名是:ALLEN工作是:SALESMAN3编号是7521的雇员,姓名是:WARD工作是:SALESMAN4编号是7566的雇员,姓名是:JONES工作是:MANAGER5编号是7654的雇员,姓名是:MARTIN工作是:SALESMAN6编号是7698的雇员,姓名是:BLAKE工作是:MANAGER7编号是7782的雇员,姓名是:CLARK工作是:MANAGER8编号是7788的雇员,姓名是:SCOTT工作是:ANALYST9编号是7839的雇员,姓名是:KING工作是:PRESIDENT10编号是7844的雇员,姓名是:TURNER工作是:SALESMAN11编号是7876的雇员,姓名是:ADAMS工作是:CLERK12编号是7900的雇员,姓名是:JAMES工作是:CLERK
2.not的使用
NOT 取反比如:
select * from emp where not(sal>1500 and comm is not null);
3.between and的使用
字段 between A and B;其中查询结果包括A和B。支持数字、日期等字段查询条件。
4.通配符 like
%:匹配任意长度的内容; _:匹配一个长度的内容。
5.不等于
两种:<> 和 !=
6.order by
order by 字段名 asc/desc; 默认为升序。比如:
select * from emp order by sal desc,hiredate asc;
7.字符操作函数
upper(字段名称); --------大写
lower(字段名称);-----------小写
initcap(字段名称); ----------首字母大写
concat(name1,name2);-----字符串连接比如:
select concat('hello',' world') from dual;
substr(str1,beginIndex,endIndex);beginIndex从0/1开始效果是一样的,程序中是从0开始的。
beginIndex可以为负数,意思为从后面开始截取。
replace(str1,sourceStr,replaceStr);--替换str1中的sourceStr为replaceStr
length(字段名称);-------长度
8.数值函数
(1)四舍五入round
select round(123.651) from dual; -----------124
保留小数
select round(123.651,2) from dual;----------------123.65对整数进行
select round(123.651,-2) from dual; -------------100
(2)截断小数位trunc
不保留小数,不四舍五入
select trunc(123.651) from dual; -----------123保留指定小数位
select trunc(123.651,2) from dual; -------123.65
(3)取模mod
select mod(7,3) from dual; ----------------1
日期 - 数字 = 日期日期 + 数字 = 日期日期 - 日期 = 数字(天数)
获取当前日期:
select sysdate from dual;获取星期数:
select empno,ename,round((sysdate-hiredate)/7) from emp;
MONTHS_BETWEEN();-------求出给定日期范围的月数 select months_between(sysdate,hiredate)from emp;
ADD_MONTHS();-------在指定的日期上加上月数,计算出日期 select add_months(sysdate,1) from dual;
NEXT_DAY();-----下一次给定日期数 select next_day(sysdate,'星期一') from dual; 下一个星期一的日期
LAST_DAY();---给定日期的最后一天 select last_day(sysdate) from dual; 本月的最后一天的日期
10.转换函数
(1)TO_CHAR();-----转换成字符串
比如:年月日拆分
select empno, ename, to_char(hiredate, 'yyyy') year, to_char(hiredate, 'mm') month, to_char(hiredate, 'dd') from emp;
select empno, ename, to_char(hiredate, 'yyyymmdd') from emp;
这时会出现前导0现象,即不足10,会补0
消除前导0:添加fm
select empno, ename, to_char(hiredate, 'fmyyyymmdd') from emp;
操作数字:加,
select empno,ename,to_char(sal,'99,999') from emp;加符号:
select empno,ename,to_char(sal,'L99,999') from emp; ------加上了 ¥
select empno,ename,to_char(sal,'$99,999') from emp;------加上了$
(2)TO_NUMBER() 数字转换
select to_number('123') + to_number('234') from dual; -----357
select to_date('2013-10-26','yyyy-mm-dd') from dual ; ------字符串转换为日期类型
11.通用函数
(1)nvl
nvl (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。
select empno,ename,(sal+nvl(comm,0))*12 from emp; 若comm为空,则当0计算
(2)decode
select decode(col/expression,search1,result1[,search2,result2,...][,default])
col/expression:为列名或者表达式
search1、search2....searchi:为用于比较的条件
result1、result2...resulti:为返回值
即:col/expression和searchi 相比较,若相同,则返回resulti;若无匹配结果,则返回默认default。
select decode(1,1,'内容是1',2,'内容是2',3,'内容是3')from dual; -------------内容是1
select decode(5,1,'内容是1',2,'内容是2',3,'内容是3','无匹配值')from dual; ---------无匹配值再比如:
select empno 雇员编号, ename 雇员名称, decode(job, 'CLERK', '业务员', 'SALESMAN', '销售员', 'PRESIDENT', '执行官', 'MANAGER', '经经理', 'ANALYST', '分析员') 职位 from emp;
- 2----单行函数
- Oracle学习(2)单行函数
- oracle单行函数(2)
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- 单行函数
- oracle基本命令集合(2)--单行函数
- 单行函数(日期函数)
- B. Non-square Equation
- MFC消息大全(不知道全不全,反正挺多)
- 移植u-boot到gec210
- ETL 工具简介
- MFC对消息处理的相关函数
- 2----单行函数
- What's your favorite “programmer” cartoon?
- Android调试
- bean之间的复制!BeanUtils.copyProperties、set、BeanCopier还有spring中的BeanUtils.copyProperties之间的区别
- 大牛的XCODE调试技巧
- 《跬步算法》选择排序
- html
- C语言文本方式和二进制方式读写操作的区别
- html 用js改变 拉伸的一个效果;