Oracle 开发常见问题
1.数学函数
①绝对值
l S:select abs(-1) value
l O:select abs(-1) value from dual
②取整(大)
l S:select ceiling(-001) value
l O:select ceil(-001) value from dual
③取整(小)
l S:select floor(-001) value
l O:select floor(-001) value from dual
④取整(截取)
l S:select cast(-002 as int) value
l O:select trunc(-002) value from dual
⑤四舍五入
l S:select round(23456,4) value 23460
l O:select round(23456,4) value from dual 2346
⑥e为底的幂
l S:select Exp(1) value l O:select Exp(1) value from dual
⑦取e为底的对数
l S:select log(7182818284590451) value
l O:select ln(7182818284590451) value from dual;
⑧取10为底对数
l S:select log10(10) value
l O:select log(10,10) value from dual;
⑨取平方
l S:select SQUARE(4) value
l O:select power(4,2) value from dual
⑩取平方根 l S:select SQRT(4) value
l O:select SQRT(4) value from dual
求任意数为底的幂
l S:select power(3,4) value
l O:select power(3,4) value from dual
取随机数
l S:select rand() value
l O:select sys.dbms_random.value(0,1) value from dual;
取符号
l S:select sign(-8) value -1
l O:select sign(-8) value from dual -1
2.数值比较
①求集合最大值 l S:select max(value) value from
(select 1 value union
select -2 value union
select 4 value union
&n
相关文档:
第一部分、SQL&PL/SQL
[Q]怎么样查询特殊字符,如通配符%与_
[A]select * from table where name like 'A_%' escape ''
[Q]如何插入单引号到数据库表中
[A]可以用ASCII码处理,其它特殊字符如&也一样,如
insert into t values('i'||chr(39)||'m'); -- chr(39)代表字符'
或者用两个单引号表示一个
or ......
1. 选用适合的Oracle优化器
Oracle的优化器共有3种:
a. RULE (基于规则)
b. COST (基于成本)
c. CHOOSE (选择性)
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 ......
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
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from ......
虽然本人没有验证过,不过据说通过ADODB访问Oracle对性能影响很小.而且ADODB比OCI8也要方便很多,毕竟许多东西都再次封装过.不过不管怎么说这都在中间又加上了一层,理论上来说出现问题的几率和解决问题的难度都变大了.而Oracle又经常用在不能随便出问题的环境,所以想必想要直接使用OCI的情况也不少.以下就是我的例子:
<?p ......