sql相关函数的用法

/*
distinct  去重
*/
select distinct nvl(e.job,'kong') from emp e;

select e.empno,e.ename from emp e;

/*INITCAP(X):将字母字符转换为每个词首字母为大写,其它字母为小写
*/
select e.empno,INITCAP(E.ENAME)  from emp e;

/*INSTR(X,find_string [,start] [,occurence]):
返回指定字符串X中的要找的字符串find_string ,从指定的开始occurence=1出现的位置start,
*/
select e.empno,instr(e.ename,'I',1,1) from emp e where e.empno=7369;


/*length(x):返回表达式x的字符数
*/
select e.empno,e.ename,length(e.ename) from emp e;

/*lower(column):将字母字符值转换为小写,upper(column):将字母字符值转换为大写
*/
select e.ename ,lower(e.ename),upper(e.ename) from emp e;

/*Lpad(x,width [,pad_string]):在字符串x左侧填充pad_string,以使总字符宽度为widt
  Rpad()
*/
select e.ename, lpad(e.ename,30,'+*'),rpad(e.ename,30,'-*') from emp e;

/*Ltrim(x [,trim_string]):从字符串左侧去除所有的trim—_string字符串,如果没有指定trim_string字符串,则默认为去除左侧空白字符
 Rtrim(x [,trim_string]):从字符串右侧去除所有的trim—_string字符串,如果没有指定trim_string字符串,则默认为去除右侧空白字符
trim(trim_string from x):从字符串两侧去除trim_string字符串
*/
 select LTRIM('  Hello Gail Seymour!'),
 RTRIM('Hi Doreen Oakley!abcabc', 'abc'),
 TRIM('0' FROM trim('  000Hey Steve Button!00000  ')) from dual;

/*nvl(x,value):用于将一个null值转换为另一个值,如果x是nul值得花返回value值,否则返回x值本身。
nvl2(x,value1,value2):如果x不为null值,返回value1,否则返回value2
*/
select e.empno,nvl(e.job,'为空') from emp e;

select e.empno,e.comm,nvl2(e.comm,300,0) from emp e;

/*replace(x,search_string,replace_string):从字符串x中搜索search_string字符串,并使用replace_string字符串替换,并不会修改数据中原来的值
*/
select e.empno,replace(e.ename,'SMITH','史密斯') as "中文名" from emp e where e.empno=7369;

/*soundex(x):返回代表xzifu 串的语音的表示形式,可用于查找一些语音相同但是拼写不同的单词
*/
select e.empno,e.ename from emp e where soundex(e.ename)=soundex('smith');

/*substr(x,start [,length]):返回字符串中的指定的字符,这些字符的地start个位置开始,长度为length个字符,如果start是负数,则从x字符串的末尾开始算起,如果length省略,则将返回一只到字符串末尾的所有字符
*/
select e.empno,substr(e.ename,2,3)  from emp e;

/*abs(value):返回value的绝对值
*/

/*power(value,n):返回value的n次幂
*/

/*mod(m,n):返回m和n取余数的结果
*/

/*to_char(x,[,format]):将x转换为字符串,format为转换的格式,可以为十字格式或日期格式可以
*/
select to_char(1234.67) from dual;
SELECT TO_CHAR(12345.67, '99,999.99') FROM dual;
/*to_number(x [,format]):将x转换为数字,可以指定format格式
*/
SELECT TO_NUMBER('970.13') + 25.5 FROM dual;
SELECT TO_NUMBER('-$12,345.67', '$99,999.99') FROM dual;
/*cast(x as type):将x转换为指定的兼容的数据库类型
*/
SELECT
 CAST(12345.67 AS VARCHAR2(10)),
 CAST('05-7月-07' AS DATE),
 CAST(12345.678 AS NUMBER(10,2))
FROM dual
/*to_date(x [,format]):将x转换为日期
*/
SELECT TO_DATE('2012-3-15','YYYY-MM-DD') FROM dual;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值