oracle學習之路(五)-----oracle資料類型的一般操作,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的變數作用範圍特點是:
一個例子
-- 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;