常用的系统函数

来源:互联网 发布:四海认证淘宝渔具特戒 编辑:程序博客网 时间:2024/05/16 08:14
1字符函数

length函数

select length('abcd') from dual;

select length('abcd好') from dual;--5个字符

select lengthb('abcd好') from dual;--6个字节 一个汉字两个字节在不同的数据库,因为字符集的不同,LENGTHB得到的值可能会不一样)

trim函数 (去除空格函数)

select ltrim(' abcd') from dual;--截左边的空格
select rtrim(' abcd ') from dual;--截右边的空格
select trim(' abcd ') from dual;--截所有的空格

substr函数 (截取字符函数)

select substr('abcdefg',2,3) from dual; --表示从第二个字符取,取三个字符
select substr('abcdefg',length('abcdefg')-3+1,3) from dual;--表示右取三个字符

concat函数 相当于||

select 'g3e_fid'||'设施特征唯一编号' a from G3E_ATTRIBUTE_BAK;  

select concat('g3e_fid','设施特征唯一编号') a from G3E_ATTRIBUTE_BAK;

replace函数(字符串替代函数)
REPLACE('string','s1','s2')
--string   希望被替换的字符或变量
--s1       被替换的字符串
--s2       要替换的字符串
select replace('我的fid是22333','我','他') from dual; 结果为:他的fid是22333

translate函数(字符级替代函数)

字符替代函数

SELECT translate('acdd','cd','ef') FROM dual; --aeff 直接将字母c换为e,字母d换为f

如果是replace函数 SELECT REPLACE('acdd','cd','ef') FROM dual; --aefd 直接将cd换为ef

lower函数

返回字符串,并将所有的字符小写

upper函数

返回字符串,并将所有的字符大写

initcap函数

select initcap('ownership')  from G3E_ATTRIBUTE  --所选取的字段第一个字母用大写字母表示  

2日期

sysdate --系统时间

select sysdate from dual;--输出结果是2017-02-04 18:10:54

current_date --当前日期

select current_date from dual;--输出结果是2017-02-04

ROUND和TRUNC函数

ROUND(n,[m]):该函数用于执行四舍五入运算;如果省略m,则四舍五入至整数位;如果m是负数,则四舍五入到小数点前m位;如果m是整数,则四舍五入至小数点后m位。

select round('201345.534566',0);--结果为201346

select round('201345.534566',-1);--结果为201350

select round('201345.534566',1);--结果为201345.5

TRUNC(n,[m]) 该函数用于截取数字。如果省略数字m,则将数字n的小数部分截去;如果数字m是整数,则将数字n截取至小数点后的第m位;如果数字m是负数,则将数字n截取至小数点的前m位。

select round('201345.534566',0);--结果为201345

select round('201345.534566',-2);--结果为201300

select round('201345.534566',1);--结果为201345.53

3转换

to_char(转换成字符串)

to_date(转换成日期)

to_number(转换成数字)

cast(类型转换)

例:

select sysdate from dual;

select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

select to_date('12-3-04') from dual;

select to_number('3333') from dual;

 cast(expr as type_name):该函数用于将一个内置数据类型或集合类型转变为另一个内置数据类型或集合类型。

select cast(now() as varchar) from dual;


4聚集函数

sum,avg,max,min,count

COUNT()函数 

SELECT COUNT(au_lname) FROM authors

AVG()函数   

SELECT AVG(vote) FROM opinion 

函数AVG()只能对数值型字段使用

SUM()函数   

SELECT SUM(purchase_amount) FROM orders

MAX()函数    SELECT MAX(vote) FROM opinion

MIN()函数    SELECT MIN(vote) FROM opinion

 

5、数字函数

ABS函数

ABS(n),该函数用于返回数字n的绝对值。示例如下,
declare
  v_abs number(6,2);
begin
  v_abs:=abs(&no);
  dbms_output.put_line('绝对值:'||v_abs);
end;
输入no的值:-12.6,
绝对值:12.6   

FLOOR函数

该函数用于返回小于等于数字n的最大整数

select floor(2345.67) from dual;   2345

6其他

select user from dual;--查询当前用户

nvl函数

NVL函数的格式如下:NVL(expr1,expr2)

含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值select a1,nvl(a2,'未输入'),a3 from aa;--处理空值

NVL2函数

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)

含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。

NULLIF函数

NULLIF(expr1,expr2)函数的作用是如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

Coalesce函数

Coalese函数的作用是的NVL的函数有点相似,其优势是有更多的选项。

格式如下:Coalesce(expr1, expr2, expr3….. exprn)Coalesce是这样来处理这些参数的。如果第一个参数为空,则看第二个参数是否是空,否则则显示第一个参数,如果第二个参数是空再看第三个参数是否为空,否则显示第二个参数,依次类推。这个函数实际上是NVL的循环使用

0 0
原创粉丝点击