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

oracle中字符串(摘抄)

关于Oracle中字符串的说明
字符串
Oracle中有四种基本的字符串类型,分别是char、varchar2、nchar和nvarchar2。在Oracle中,所有串都以同样的格式存储。在数据块有一个1~3字节的长度字段,其后才是数据,如果数据位NULL,长度字段则表示为一个单字节值0xFF.
如果串的长度小于或等于250(0x01~0xFA),Oracle会使用1个字节来表示长度。对于所有长度超过250的串,都会在一个标志字节0xFE后跟有两个字节来表示长度。因此,如果有个包含“Hello Word”的varchar2(80),则在块中可能是:[11][H][e][l][l][o][][W][o][r][l][d]
如果在一个char(80)中存储同样的数据,则可能是:[80][H][e][l][l][o][][W][o][r][l][d][68][].....[][0]
例子:
ops$tkyte@ORA10G>create table t
2 (car_column     char(20))
3  varchar2_column varchar2(20)
4 )
5 /
Table created.
ops$tkyte@ORA10G>insert into t values('Hello World','Hello World');
1 row created.
ops$tkyte@ORA10G> select * from t;
CHAR_COLUMN              VARHCAR2_COLUMN
--------------------------------------------
Hello World              Hello World
ops$tkyte@ORA10G> select * from t where char_column='Hello World';
CHAR_COLUMN              VARHCAR2_COLUMN
--------------------------------------------
Hello World              Hello World
ops$tkyte@ORA10G>select * from t where varchar2_column='Hello World';
CHAR_COLUMN              VARHCAR2_COLUMN
--------------------------------------------
Hello World              Hello World
以上的操作看不出什么效果对吧,继续看下面的内容:
ops$tkyte@ORA10G>select * from t where cahr_column=varchar2_column;
no rows selected
原因是在char列比较时,char(11)直接量('Hello World')已经提升为一个char(


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle 中的Union、Union All、Intersect、Minus

众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。 假设我们有一个表Student,包括以下字段与数据: drop table student;
create table student
(
id int primary key,
name nvarchar2(50) not null,
score number not null
);
insert into student values(1,'Aaron',78);
inse ......

安装Oracle 10g inistant client后是PL/SQL出现乱码

想使用PL/SQL开发工具,但不想安装那个几百兆的oracle客户端,于是安装了oracle 10g inistant client,40多M吧。
安装后PL/SQL可以用了,但是查询出记录里面的中文却是乱码。折腾了好久才找出解决方法:
设置环境变量:NLS_LANG,值为Oracle数据库设置的字符集,在我的系统里面设置是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK ......

用perl查询oracle数据库中存在的lock

原文地址oracle lock
1用Perl TK模块 查询DB中的LOCK
use DBI;
use Tkx;
use DBD::Oracle qw(:ora_session_modes);
$mw = Tkx::widget->new(”.”);
$mw->g_wm_title(”Oracle Lock”);
$content = $mw->new_ttk__frame(-padding => “5 5 12 0″);
$content->g_grid ......

oracle笔记


sqlplus sys/password  as sysdba;系统管理员登录
alter user scott account unlock; 更改用户
desc (表名)
select * from (table name);
select distinct ename from emp;
select ename,sal from emp;
select ename,sal*12 'annual_sal' from emp;
select ename,sal from emp where sal>1000;
select ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号