oracle学习之路(五)-----oracle数据类型的一般操作

1. 一些常见的运算符

运算符意义
=等于
<> , != , ~= , ^=不等于
<小于
>大于
<=小于或等于
>=大于或等于
+加号
-减号
*乘号
/除号
:=赋值号
=>关系号
..范围运算
||字符连接符
IS NULL是空值
BETWEEN AND介于两者之间
IN在一列值中间
AND逻辑与
OR逻辑或
NOT取返,如IS NOT NULL, NOT IN

2.变量赋值

  在PL/SQL编程中,变量赋值是一个值得注意的地方,它的语法如下:
  
* 变量赋值

 variable  := expression ;

* 声明同时为变量赋值

 variable  variable_Type:= expression ;

3.变量计算

  • 空值加数字仍是空值:NULL + < 数字> = NULL
  • 空值加(连接)字符,结果为字符:NULL || <字符串> = < 字符串>
  • 布尔值只有TRUE, FALSE及 NULL 三个值
  • 数据库赋值是通过 SELECT语句来完成的,每次执行 SELECT语句就赋值一次,一般要求被赋值的变量与SELECT中的列名要一一对应。如:
 DECLARE
  emp_id    emp.empno%TYPE :=7788;
  emp_name  emp.ename%TYPE;
  wages     emp.sal%TYPE;
BEGIN
  SELECT ename, NVL(sal,0) + NVL(comm,0) INTO emp_name, wages
  FROM emp WHERE empno = emp_id;
  DBMS_OUTPUT.PUT_LINE(emp_name||'----'||to_char(wages));
END;

  提示:不能将SELECT语句中的列赋值给布尔变量。

4.数据类型的转换

1. CHAR 转换为 NUMBER: TO_NUMBER('100.0')

2.NUMBER 转换为CHAR: TO_CHAR('123.45')

3. 字符转换为日期: v_date := TO_DATE('2001.07.03','yyyy.mm.dd');
4.日期转换为字符 v_to_day := TO_CHAR(SYSDATE, 'yyyy.mm.dd hh24:mi:ss') ;

 -- Created on 2015/6/12 by LYH 
declare 
  str char(10):='100.0';
  i int:=421;
  total int;
begin
  total:=TO_NUMBER(str)+i;
  Dbms_Output.put_line(TO_CHAR(total));

end;

5.变量作用范围及可见性

在PL/SQL编程中,如果在变量的定义上没有做到统一的话,可能会隐藏一些危险的错误,这样的原因主要是变量的作用范围所致。变量的作用域是指变量的有效作用范围,与其它高级语言类似,PL/SQL的变量作用范围特点是:

  1. 变量的作用范围是在你所引用的程序单元(块、子程序、包)内。即从声明变量开始到该块的结束。
  2. 一个变量(标识)只能在你所引用的块内是可见的。
  3. 当一个变量超出了作用范围,PL/SQL引擎就释放用来存放该变量的空间(因为它可能不用了)。
    1. 在子块中重新定义该变量后,它的作用仅在该块内。

一个例子

-- Created on 2015/6/15 by LYH 
declare 
  Emess char(4):='李四';

begin
  declare
  v1 number(10);
  begin
     SELECT fage
     INTO v1
     from t_employee
     where fname='Tom';

     Dbms_Output.put_line(v1);
  end;

  declare
  v1 number(10);
  begin
     SELECT fage
     INTO v1
     from t_employee
     where fname='Jerry';

     Dbms_Output.put_line(v1);
  end;

end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值