易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 常用函数

001、字符
length/lengthb   字符数(1个汉字1个字符) / 字节数(1个汉字2个字节)
ltrim/rtrim/trim 删除空格
lower/upper      大小写转换
select length('abc') from dual;
select substr(ename, 1, 3) from emp; 从第一个字符开始截,一共截3个字符
substr('abcdefg',2,3) => bcd 从第2个位置取3个
substr(str,length(str)-n+1,n); 右取串
select chr(65) from dual; //ASCII码转换成字符
select ascii('A') from dual; //字符转换成ASCII码
002、日期
select sysdate from dual;
select current_date from dual;
select next_day(sysdate,'星期一') from dual; 下一个星期一是哪一天
alter SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';
003、to_char
数值格式
9代表一位数字,没有就不显示,小数点后的数字必须显示
select to_char(sal, '$99,999.9999') from emp;
0代表一位数字,该位没有数字,则显示0
select to_char(sal, '$00,000.0000') from emp;
货币格式,L指本地货币
select to_char(sal, 'L99,999.9999') from emp;
日期格式
select to_char(hiredate, 'yyyy-mm-dd hh:mi:ss') from emp;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mom-dd hh:mi:ss') from dual;
004、to_date
select to_date('2008-12月-19') from dual;
select to_date('2008-12-19','yyyy-mm-dd') from dual;
输出1981年2月20日后入职的数据
select ename, hiredate from emp where hiredate > to_date('1981-2-20', 'yyyy-mm-dd');
005、to_number
select to_number('2008') from dual;
薪水大于$1,250.00的员工
select sal from emp where sal > to_number('$1,250.00', '$9,999.99');
006、round
四舍五入
select round(23.6552) from dual;
四舍五入到小数点后2位
select round(23.6552, 2) from dual;
四舍五入到十位数:20
select round(23.6552, -1) from dual;
007、nvl
如果comm的值是空值用0替代,否则直接输出
select ename, sal*12 + nvl(comm, 0) from emp;
008、||
连接字符串
select 'Oracle '||'10g'||'R2' from dual;
009、decode
查询姓别为'男'和'女'的分别有多少人:
select sum(decode(sex,'男',1,0)) man,sum(decode(sex,'女',1,0)) woman from staff;
010、聚集函数
sum,avg,


相关文档:

关于ORACLE外连接(+)

现在有以下两张表:
                                              表A  ......

ORACLE函数

 把自己搜集的资料贴出来,学习工作方便占。
SQL中的单记录函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2.CHR
给出整数,返回对应的字符;
SQ ......

关于ORACLE辅助语句

--JOBS
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => X,
what => 'sp_test();',
next_date => to_date('28-04-2009 11:58:00',
'dd/mm/yyyy hh24:mi:ss'),
interval => 'SYSDATE+1');
END;
/
commit;
select to_char(sysdate-90,'yyyymmdd') from dual;  --选择日期
select * from ......

Oracle和MSSQL中循环的使用


 ORACLE
CREATE OR REPLACE FUNCTION SETSTATE(OLDVALUE VARCHAR2, POS NUMBER, SVALUE VARCHAR2)
RETURN VARCHAR2
IS
RETURN_VALUE VARCHAR2 (20);
LEN NUMBER(8);
I NUMBER(8);
TEMP_VALUE VARCHAR2(1);
BEGIN
     LEN := LENGTH(OLDVALUE);
     IF POS > ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号