Upper(<字符串>)☞将字符串转为大写
Lower(<字符串>)☞将字符串转为小写
Initcap(<字符串>)☞将字符串首字母转为大写,其它小写
Length(<字符串>)☞得到字符串的长度
Replace(<旧的字符串>,<新的字符串>[,<子字符串>])☞将字符串的字符的子字符串替换成新的字符
Substr(<旧的字符串>,<开始截取位置>[,<结束截取位置>])☞截取字符串
Concat(<字符串>,<另一个字符串>)☞拼接字符串
Ascii(<字符>)☞返回字符的ASCII值Chr(<ASCII数字值>)☞将ASCII码转为字符
Instr(<字符串>,<子字符串>[,<开始查找中位置>[,<第几次被发现>]])☞获取子字符串出现的索引
Trim(<字符串>)☞截取左右两端的空格
2.数字函数
Abs(<number>)☞取数字的绝对值
Ceil(<number>)☞向上取整
Floor(<number>)☞向下取整
Power(<number1>,<number2>)☞计算<number1>的<number2>次幂
Mod(<number1>,<number2>)☞<number1>取模于<number2>
Round(<number>[,<取几位小数>])☞四舍五入
Trunc(<number>[,<取几位小数>])☞向上截取
Sqrt(<number>)☞求平方根
3.日期函数
Sysdate☞当前日期
Add_months(<日期>,<几个月>)☞数月后的日期
Last_day(<日期>)☞当前月的最后一天
Months_between(<日期>,<另一日期>)☞两个日期之间的间隔月数
Trunc(<日期>,’d’|’mm’|’yyyy’)☞获取某日期所在星期、月或年中的第一天日期
Next_day(date[,<经过的周数>])☞几周后的日期
localtimestamp☞会话日期和时间
4.转换函数
CharToRowid(<字符串>)☞字符串转为rowid格式
RowidToChar(rowid)☞Rowid转为字符串
To_char(<数字>|<日期>[,转换格式])☞转为字符串
To_date(<字符串>)☞转日期
To_number(<字符串>)☞转数字
5.聚组函数
Avg(<列名>)☞平均值
Sum(<列名>)☞求和
Variance(<列名>)☞方差
Count(*|[distinct|all] <列名>)☞行数
Max(<列名>)☞最大值
Min(<列名>)☞最小值
Wm_concat(<列名>)☞多值合并
6.其它函数
nvl(<expr1>,<expr2>)☞若expr1为空,用expr2替代
nvl2(<expr1>,<expr2>,<expr3>)☞若expr1为空,用expr2替代,否则expr3替代
User☞返回数据库用户名
Uid☞返回当前会话所对应的用户id
Decode(<列名或其他条件>,<值1>,<取值1>,<值2>,<取值2>...[,<缺省值>])☞条件取值
Rownum☞当前行号
Sys_guid()☞生成32位的随机数,包括0-9和A-F
Dbms_random(<开始数字>,<结束数字>)☞生成随机数
/*简单演示*/
--删除表
drop table student;
--创建表
create table student(
sname varchar2(20),
s# number,
sage number,
sscore number
);
--添加数据
insert into student values('钱一 one two',1,22,99.9);
insert into student values('刘二 upper lower',2,20,59);
insert into student values('张三 new older',3,22,78.5);
insert into student values('李四 left right',4,20,85.2);
insert into student values('王五 top buttom',5,22,96);
--查询数据
select * from student;
select initcap(lower(sname)),length(sname),substr(sname,3),s#,sage,sscore from student;
select sage,replace(wm_concat(substr(sname,1,2)),',','&') from student group by sage;