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

Oracle复杂查询

1、查询两个日期之间的数据。
假设有表Table1,其创建表的sql语句为:
create table Table1(
StationID    NUMBER(10) Primary key,
Year           NUMBER(4)  not null,
Month        NUMBER(2)  not null,
Day            NUMBER(2)  not null);
现在我需要查在'2005-01-01'至'2006-01-01'之间的所有数据,遇到的主要问题是:表Table1中的日期信息分别存放在三个字段(Year,Month,Day)中,怎样实现这一查询呢?
答案如下:
SQL>select * from Table1 where to_date(concat(concat(concat(concat(year,'-'),lpad(month,2,0)),'-'),lpad(DAY,2,0)),'yyyy-mm-dd')
 between to_date('2005-01-01','yyyy-mm-dd') and to_date('2006-01-01','yyyy-mm-dd');
答案解释:
(1)使用concat函数连接Year,Month,Day三个字段,从而构造一个新的字符串(包含年、月、日信息),使其格式为:'年-月-日';
(2)使用lpad函数补足月份及天数,使之都是二位,这是因为to_date函数的第一个参数是必须为'yyyy-mm-dd'类型;
(3)使用between and来确定范围。


相关文档:

ORACLE中Like与Instr性能大比拼

t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发
现,like的效率与instr函数差别相当大。下面是一些测试结果:
SQL> set timing on
SQL> select count(*) from t where instr(title,’手册’)>0;
COUNT(*)
&mdash ......

SQL SERVER数据库快速转ORACLE实战

操作步骤如下,供参考。
 数据库转型工作涉及的工作事项分析:表,表数据,索引,外键约束,字段默认值。
存储过程、函数、触发器、视图等由于语法存在差异,只能自行改写处理。
 
(一)在MS SQL SERVER服务器端的准备工作。
1).创建关于表、视图、主键、索引、字段字典、默认值约束的对象视图。以方便下一步 ......

windows 启动 oracle 批处理脚本

 Oracle安装后,会把4个服务设为自动启动,分别为:
1. OracleOraHome90Agent
2. OracleOraHome90HTTPServer
3. OracleOraHome90TNSListener
4. OracleServiceORA
         其中第二个不是必须的,可以在服务里把它禁用。其他三个在Oracle运行时都要启动。
   ......

oracle更改字符集

修改oracle 10g的字符集
修改数据库字符集为:ZHS16GBK
首先用scott&tiger&orcl登录到sql/plus
查看服务器端字符集
SQL > select * from
V$NLS_PARAMETERS;
修改:
$sqlplus /nolog
SQL>conn / as sysdba

此时数据库服务器已启动,则先执行 SHUTDOWN IMMEDIATE 命
令关闭数据库服务器,然后执 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号