概要:接触ORACLE快两年了,适逢年末,现在想静下心好好总结一下,于是出了下面测试总结。
1.测试环境:
A:
OS: Microsoft Windows XP [版本 5.1.2600]
DB:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
B:
OS:SunOS 5.9 [ Solaris 9]
DB:Oracle10g Enterprise Edition Release 10.1.0.3 - Production
之一:基本SELECT语句
提纲:
1.CHAR与VARCHAR2
2.Number
4.大小写区分(单引号,列别名)
5.有关NULL(比较,排序位置)
6.转义字符(escape character)
8.有关DUAL表
1.CHAR与VARCHAR2
A.CHAR默认长度是1, VARCHAR2必须指出长度
SQL> create table test (x char,y varchar2(10)) tablespace users;
表被创建
SQL> desc test;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
X CHAR(1) Y
Y VARCHAR2(10) Y
B. 尾部空格比较,对于char类型,’a’=’a ‘,对于varchar2类型,’b’<’b ‘
SQL> alter table test modify ( x char(10));
表被改变
SQL> insert into test values('a ','b ');
1 行 已插入
SQL> select * from test where x='a ';
X Y
---------- ----------
a b
SQL> select * from test where y='b ';
X Y
---------- ----------
SQL> select * from test where y>'b';
X Y
---------- ----------
a b
------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
2.Number
4.大小写区分(单引号,列别名)
关键字,列名和数据表名不区分大小写,只有包括在单引号的数据才区分大小写.
要想在别名中使用空格或区分大小写,要用双引号
5.有关NULL(比较,排序位置)
空值排序:默认情况下,NULL排在高位置上,可用NULLS FIRST或 NULLS LAST来改变。
select * from test order by y nulls first;
有关NULL(比较),参见:
6.转义字符(escape character)
SQL> insert into test values('xyz%a_d','');
SQL> select * from test where x like 'xyz/%a/_%' escape '/';
X Y
---------- ----------
xyz%a_d
8.有关DUAL表
权威解释:
http://asktom.oracle.com/pls/ask/f?p=4950:8:18211305788624471845::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:1562813956388