13)定义变量
用&:由用户输入变量值,此变量可以存在于where后,做为整个查询语句的变量。也可以在order by 后。做为字段的变量。也可以放在select 后,做为字段或表达式的变量。
用&&:如果多个地方引用此变量。。只用输入一次
SQL> SELECT empno, ename, job, &&column_name
FROM emp
ORDER BY &column_name;
十三、函数:
1、字符函数
lower:把字符转成小写
upper:把字符转成大写
initcap:把单词的第一个字母变成大写
concat:连接字符 concat(‘good’,’morning’)=goodmoring
SUBSTR (column\expression, m[,n]) 用于对字符串进行截取操作,从第m个位置开始,把其后的连续n个字符的部分截取下来,如果m位负值,则从末尾开始计算。
eg:substr(‘string’,1,3) =str
substr(‘string’-3,3)=ing
INSTR('String', 'r')=3
LPAD(sal,10,'*') =*******sal
length: 用于返回表达式中的字符数,注意返回的是NUMBER。
NVL(expression1, expression2)
NVL 函数用以把一个空值转换为一个实值,如:
NVL(100/quantity, 0) ,要是quantity为空值,该函数返回一个0。
如果两个字段类型不同必须进行转换。
Min():返回最小值。。如果是字符。。A<a
2、数学函数
round:四舍五入
round(2.566,2)=2.27
round(45,-1)=50
trunc: 截断
trunc(2.566,2)=2.56
trunc(45,-1)=40
mod:
mod(m,n):m-n*flood(m/n) file://flood是取整数
IXDBA.NET社区论坛
十四: ORACLE用户连接的管理
用系统管理员,查看当前数据库有几个用户连接:
SQL> select username,sid,serial# from v$session;
如果要停某个连接用
SQL> alter system kill session 'sid , serial#';
如果这命令不行,找它UNIX的进程
SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr;
说明:21是某个连接的sid数
然后用 kill 命令杀此进程号。
十五:常用SQL*Plus语句
a、表的创建、修改、删除
创建表的命令格式如下:
create table 表名 (列说明列表);
为基表增加新列命令如下:
ALTER TABLE 表名 ADD (列说明列表)
例:为test表增加一列Age,用来存放年龄
sql>alter table test
add (Age number(3));
修改基表列定义命令如下:
ALTER TABLE 表名
MODIFY (列名 数据类型)
例:将test表中的Count列宽度加长为10个字符
sql>alter atble test
modify (County char(10));
b、将一张表删除语句的格式如下:
DORP TABLE 表名;
例:表删除将同时删除表的数据和表的定义
sql>drop table test