Oracle支出类型自动转换
字符串函数
- SELECT * FROM scott.emp WHERE ename=UPPER('&inputename'); //输入姓名查询该人所有信息(姓名不区分大小写)
- SELECT INITCAP(ename) FROM emp; //显示的姓名,首字母大写,其余小写
- SELECT SUBSTR(ename,1,3) FROM emp //截取前3个字符,Oracle数据库中进行字符串操作时,小标索引都是从1开始的
- SELECT SUBSTR(ename,LENGTH(ename-2)) FROM emp; //截取了后三个字符
- SELECT SUBSTR(ename,-3) FROM emp; //截取了后三个字符
数值函数
- ROUND() //四舍五入操作
- SELECT ROUND(123.456,2) //123.46 ,当2位置数据为负数时,为操作整数位
- MOD() //取余操作
- SELECT TRUNC(15.456),TRUNC(15.145,2) FROM emp; //实现不进位,直接抹掉指定的位数
日期函数
- ADD_MONTHS() //增加月份
- BETWEEN() //计算两个日期之间相差的月份
- sysdate //取得当前日期,这是一个伪列(搜索的表中可以没有 sysdate 这个列)
- SELECT SYSDATE,SYSDATE+120,SYSDATE-120,SYSDATE-hiredate FROM emp; //日期函数的操作
- SELECT ename,MONTHS_BETWEEN(SYSDATE,hiredate) FROM scott.emp; //两个日期之间相差几个月
- SELECT LAST_DAY(SYSDATE) FROM dual; //当前月的最后一天
- SELECT NEXT_DAY(SYSDATEX,'星期二') FROM dual; //计算下一个指定的星期X
- SELECT TO_CHAR(SYSDATE,'yyyy') year,TO_CHAR(SYSDATE,'mm') month,TO_CHAR(SYSDATE,'dd') day FROM emp;
- //将日期转换为字符串或者将数字转换为字符串,将日期中的年、月、日取出
- //TO_CHAR()可以使用以下的标记 : 时(hh、hh24)、分(mi)、秒(ss)
- //在数字格式化中
- SELECT TO_CHAR(123456789,'L999,999,999') FROM emp; //L:表示货币 9:表示任意数字
- SELECT TO_DATE('2009-01-24','yyyy/mm/dd') FROM emp; //讲字符串转化为日期型
- SELECT TO_NUMBER('1') + TO_NUMBER('2') FROM emp; //将字符串转化为数字并计算
- SELECT '1'+ '2' FROM scott.emp; //与上面一个SQL语句的效果一样,显示了类型的自动转化
通用函数
- SELECT NVL(comm,0) 佣金,(sal+NVL(comm,0))*12 FROM emp; //NVL()函数主要将NULL值变为0