Oracle初学者笔记(二)

王朝oracle·作者佚名  2006-11-24
宽屏版  字体: |||超大  

SQL函数

两类函数:

单行函数;

多行函数;例如聚合函数。

单行函数:

1,字符函数:

转换函数:lower,.....

upper,.....

initcap,把一个字符串的每个单词的首字母转换为大写,其他的都

转换为小写;

字符操作函数:concat,字符串连接;concat('fuck','you')='fuckyou'

substr,取子串;substr('fuckyou',2,4)='ucky'

length,汉字与字母的行为位数是一样的;length('string')=6

instr,取得某个字母在字符串中所处的位置;

lpad,按固定位数输出字符串,不足的位数填充指定字符;

lpad(sal,10,'*')=5000;

/*我想你必须明白函数是怎么工作的?

其实对于一个函数,如果用到了参数,这个参数又是查询的对象,

则数据库会先查询出这个对象,然后再调用函数计算;

比如lpad('fuck',10,'*')我们也许其实要先查出'fuck'来,所以可能会是

lpad(name,10,'*');

如果要对一个常量字符串而不是查询得到的字符串进行以上的函数操作,那么:

只需要把相应参数替换,随便from 一个表就行了,当然我们有更好的

选择:

Oracle中有个名义表:dual,存储什么内容不重要,主要是

辅助我们用函数的;它只会返回一行;

*/

2,数值函数:

round:返回四舍五入值,round(45.926,2)=45.93;round(45.926,-1)=50;..

trunc:截取小数,trunc(45.926,2)=45.92

mod:求余,mod(1600,300)=100

3,日期函数:

Oracle内部存储格式:century,year,month,day,hours,minutes,seconds.

默认的日期格式:dd-mm-yy

sysdate函数返回系统的日期和时间;

//如果函数没有参数,可以不写括号;

//想要查看一个表的结构,或者说是它的所有列的定义,用desc table;

months_bewtween

add_months:它减轻了前台应用程序的工作负担:

当给一个月份加上几个月时出现跨年时,如果你在前台

应用程序里做这样的事情,那还必须对12取余,还要修改

数据库中的年份,但是如果用这个函数,前台程序实际上

什么都不用做,只管拿结果就行了;

其他的函数有着相同的效果;

next_day

last_day

round

trunc

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有