1. select upper(‘hello world‘ 大写,lower(‘hello world‘) 小写,initcap(‘hello world‘) 首字母大写 from dual;
2. select length(‘中国‘) 字符,lengthb(‘中国‘) 字节 from dual;
2 6
3. select replace (‘hello‘,‘o‘.‘a‘) from dual; --用a 替换 o
4. select substr(‘hello world‘,3,4) from dual; --从第三位开始截取4个字符串
5. select instr(‘hello world‘,‘o‘) from dual; --查找 o 的位置
5
6.select lpad(‘hello world‘,15,‘*‘) 左补齐,rpad(‘hello world‘,15,‘@‘) 右补齐 from dual;
--左右 补齐 用不同符号 补齐15位
7. select trim(‘h‘ from ‘hello world‘) from dual; --(只能)截取一个字符
8. round(42.965,2) 四舍五入 保留两位小数
trunc(42.965,2) 舍去 保留小数点后两位
mod(10,3) 取余数 10/3 = 1
9. 暂时更改系统时间方式
select sysdate from dual;
select * from v&nls_parameters; --查看系统格式
alter session set NLS_DATE_FORMAT=‘yyyy-mm--dd‘; 暂时 更改系统时间格式为:
改变时间的显示的另一种方式
select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual;
10. select (sysdate + 1) - (sysdate) from dual; --明天 减去今天 等于
日期不能去做加法,只能加几天,可以做减法,减去一个日期或者几天
11. select (sysdate - hiredate)/30 粗略,months_between(sysdate,hiredate) 精确 from dual; --计算月份差
12. 在一个日期上加上几个月
select add_months(sysdate,5) from dual;
13查看当前月的最后一天 last_day(sysdate)
下一个日期 比如下一个星期六 next_day(sysdate,‘星期二‘)
14. select to_char(sysdate,‘"今天是"yyyy-mm-dd day "天气真的很好"‘) from dual;
今天是2016-03-15 星期二 天气真的很好
15将整数转换为一个字符串
select to_char(1524251,‘L999,999‘) from dual; --L 表示本地货比
16. select to_number(‘123‘) from dual; 转换为数字类型
17. nvl2(a,b,c) 如果a==null ,返回c否则返回b
nullif(a,b) 如果a == b 返回空,如果不等于返回a
coalesce(a,b,c....) 从最左边开始查找,查找到第一个不为空的返回
原文:http://www.cnblogs.com/savepoint/p/5330446.html