数据库——单行函数

来源:互联网 发布:卡巴斯基网络防火墙 编辑:程序博客网 时间:2024/06/07 04:50

1、 单行函数的分类:1)字符函数
2)数值函数
3)日期函数
4)转换函数
5)通用函数
2、字符函数:主要指参数类型是字符型,不同函数返回值可能是字符型或数值型。
3、字符函数的分类:大小写转换函数和字符处理函数
4、大小写转换函数:使用upper(小写转换大写)、lower(大写转换小写)、initcap(单词首字母)关键字

例子:select empno,ename,deptno from emp where ename=upper('allen')    (显示ALLEN的员工编号、部门、姓名)

5、字符处理函数:
1)concat连接两个值,等同于||;

例子:concat(‘ab’,’cd’);     返回abcd

2)SUBSTR(string,start,count)
取string字符串,从start开始,取count个
如果count省略,则取后面所有

例子:Substr(‘string’,1,3)     返回str

3)LENGTH 取字符的长度

例子:LENGTH(‘string’)     返回结果是6

4)Instr(s1,s2,x,y)
返回S1中,字符串S2从x开始,第y次出现的位置,x、y默认为1

例子:Instr(‘string’,’r’)     返回结果为3

5)lpad(s1,n1,s2)
返回s1被s2从左面填充到n1之后的字符串

例子:Ipad(sal,10,*)     返回结果:******5000

6)rpad(s1,n1,s2)
返回S1被S2从右面填充到N1之后的字符串

例子:Rpad(sal,10,*)     返回结果:5000******

7)trim:去除字符串头部或尾部的字符

例子:Trim(‘s’ from ‘ssmith’)     返回结果:mith

8)replace(s1,s2,s3):把s1中的s2用s3替换

例子:Repalce(abc,b,d)     返回结果:adc

6、数值函数:
1)ROUND(n1[,n2]) 返回四舍五入小数点右边n2位后n1的值,n2缺省值为0,如果n2为负数就舍入到小数点左边相应的位上

例子:ROUND(58.5743,2)     返回:58.57

2)TRUNC(n1[,n2] 返回截尾到n2位小数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上

例子:TRUNC(578.546,1)     返回:578.5

3)MOD(n1,n2) 返回n1除n2的余数,如果n2=0则返回n1的值

例子:MOD(9,3),返回:3

7、dual 虚数表:
1) Oracle中的dual表是一个单行单列的虚拟表。
2) Dual表是oracle与数据字典一起自动创建的一个表,这个表只有1列:DUMMY,数据类型为VERCHAR2(1),dual表中只有一个数据’X’, Oracle有内部逻辑保证dual表中永远只有一条数据。
3)Dual表主要用来选择系统变量或求一个表达式的值。
8、日期函数:
1)Sysdate 当前日期和时间

例子:Select sysdate from dual;

2)Add_months(d,n) 当前日期d后推n个月
用于从一个日期值增加或减少一些月份

例子:当前日期后两个月:     Select add_months(sysdate,2) from dual;

3)dbtimezone()返回时区

例子:select dbtimezone from dual;

4)round[舍入到最接近的日期]
(day:舍入到最接近的星期日)

例子:select sysdate S1,round(sysdate) S2 ,round(sysdate,'year') YEAR,round(sysdate,'month') MONTH ,round(sysdate,'day') DAY fromdual

5)to_date,to_char日期和字符转换函数用法

例子:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from       dual; --日期转化为字符串

将字符串转换为日期类型

例子:select to_date('2013-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual ;--字符串转化为日期

9、转换函数:转换函数将指定字符从一种类型转换为另一种,通常这类函数遵循如下惯例:函数名称后面跟着待转换类型以及输出类型。
1)TO_CHAR(将日期或数据转换为char数据类型)
Ⅰ:用于日期型

例子:select TO_CHAR(Sysdate, 'dd month yyyy') from dual(查询当前时间,以 xx xx月 xxxx的格式)

Ⅱ:用于数值型

例子:select TO_CHAR(28.000, '$99.999') from dual(在前面的数上加上美元符号,28.000, '$99.999'两者必须位数相同)其他例子:to_char(1210.73, '9999.9') 返回 '1210.7' to_char(1210.73, '9,999.99') 返回 '1,210.73' to_char(21, '000099') 返回 '000021' to_char(852,'xxxx') 返回' 354'

2)TO_NUMBER(将一个字符串转换为数值型数据,要转换的char数据必须是由数字组成的)

例子:select TO_NUMBER('58') from dual(返回:58

3)TO_DATE(将一个字符串转换为数值型数据,要转换的char数据必须是时间格式的)

例子:select to_date('02 10月 2016') from dual(返回:2016/10/2

10、通用函数:与空值(NULL)相关的一些函数,完成对空值(NULL)的一些操作

例子:nvl(expr1,expr2)如果 expr1 是 null 值,则 nvl 函数返回 expr2 ,否则就返回 expr1 。
0 0
原创粉丝点击