1.ascii
作用: 返回指定的字符对应的十进制数
select ascii('A') ,ascii('a'),ascii(' ') from dual;
2.chr
作用:给出整数,返回对应的字符
select chr(65) ,chr(54780) from dual;
3.concat
作用:连接两个字符串
select concat('Welcom' , 'to Dalian!');
4. INITCAP
作用:返回字符串,并将字符串的第一个字母大写
select initcap('my name is Jim')from dual;
5.instr(C1,C2,I,J)
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
作用:在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
6.Length
作用:返回字符串的长度
7..LOWER
作用:将字符串转为小写
8.UPPER
作用:将字符串转大写
9.RPAD和LPAD(粘贴字符)
RPAD 在列的右边粘贴字符
LPAD 在列的左边粘贴字符
10.LTRIM和RTRIM
LTRIM 删除左边出现的字符串
RTRIM 删除右边出现的字符串
2016/5/23
11.Substr(string,start,count)
作用:取子字符串,从string里以start开始,取得长度为count
12.Replace(string,str1,str2)
作用:把字符串string的str1用str2替换
13.soundex
作用:返回读音相同的字符串
14.ABS(number)
作用:返回数字的绝对值
15. 数学函数
- ACOS
- ASIN
- ATAN
16. CEIL(向上取整)
作用:返回大于或等于给出数字的最小整数
17.Floor(取整数部分)
18. sign(返回1,0,-1)
作用:判断一个数的符号(正数,0,负数)
19.trunc
作用:按照指定的精度截取一个数
20 日期函数
- .ADD_MONTHS
作用: 增加或减去月份
- .last_Day()
作用:返回日期的最后一天(sysdate代表当前系统时间)
- months_between()
作用:返回两个日期之间有多少个月
- 获取日期的月份,返回月份名称(全写)
select to_char(sysdate,'month') from dual;
获取日期的月份,返回月份简写
select to_char(sysdate,'mon') from dual;
- 获取日期月份,返回月份数字
select to_char(sysdate,'mm') from dual;
- 返回日期是星期几(如果是大写就把day换成DAY)
select to_char(sysdate,'day') from dual;
- 返回星期几的数字
select to_char(sysdate,'day') from dual;
- 返回日期的季度
select to_char(sysdate,'Q') from dual;
- 返回日期是一年的第几周
Select to_char(sysdate,'iw') from dual;
- 返回日期是一年的第几天
- lead和lag函数
作用:lead是对over里的规则进行排序,返回下n个序列
比如: lead(field ,1) over(order by field) 意思是往后推n列,而lag正好相反
1 2
2 3
3 4
4 5
- rank()和dense_rank()排名行数
作用:根据字段进行排名,当然也可以分组,(partition by)
用法:rank() over(order by field)
语法:
rank() over (order by 排序字段 顺序)
rank() over (partition by 分组字段 order by 排序字段 顺序)
区别不同点,rank() : 不连续,例如:
3658 1
2500 2
2500 2
1800 4
dense_rank():连续,例如:
3658 1
2500 2
2500 2
1800 3