運算符是告訴編譯器執行特定數學或邏輯操作的符號。該語言有豐富的內置運算符,還提供了以下類型的運算符:
- 算術運算符
讓我們看看PL/SQL支持的所有操作符。假設兩個變量A的值為20,變量B的值為10
- 加法(+):它將兩個操作數相加,就像A+B,結果是30。
- 減法(-):它減去兩個操作數,就像A-B,得到10。
- 乘法(*):它將兩個操作數相乘,結果為200。
- Divide(/):對兩個操作數進行除法,結果為2。
- 取冪(**):該操作符將一個操作數取另一個操作數的冪。比如2的5次方等於32。
下麵是PL/SQL中的例子。
開始
dbms_output。put_line (20 + 10);
dbms_output。put_line (20);
dbms_output。put_line (20 * 10);
dbms_output。put_line (20/10);
dbms_output。put_line (2 * * 5);
結束;
/
當我們執行上麵的代碼時,我們得到以下輸出。
30.
10
200
2
32
PL/SQL過程成功完成。
- 關係運算符
這些運算符比較兩個表達式或值,然後返回一個布爾值結果。假設兩個變量A值為30,變量B值為20。
- Equal to(=):該操作符檢查兩個操作數是否相等,如果是,則條件為真。A=B不正確。
- {!=, <>, ~=}:它們檢查兩個操作數是否相等,如果這些值不相等,則條件為真。像A != B是正確的。
- 大於(>):它們檢查左操作數是否大於右操作數的值,如果大於則條件為真。A > B不是真的。
- 小於(<):它們檢查左操作數是否小於右操作數的值,如果是則條件為真。A < B不正確。
- 大於等於(>=):它們檢查左操作數是否大於或等於右操作數的值,如果是,則條件為真。A >= B不正確。
- 小於等於(<=):它們檢查左操作數是否小於或等於右操作數的值,如果是,則條件為真。A <= B是正確的。
讓我們來看一個例子:
聲明
一個數字(2):= 30;
B數(2):= 20;
開始
如果(a = b)那麼
dbms_output。Put_line ('a等於b的值');
其他的
dbms_output。Put_line ('a不等於b的值');
如果;
如果(a < b)則
dbms_output。Put_line (' a小於b的值');
其他的
dbms_output。Put_line (' a不小於b的值');
如果;
如果(a > b)那麼
dbms_output。Put_line ('a大於b的值');
其他的
dbms_output。Put_line ('a不大於b的值');
如果;
——我們改變a和b的值
答:= 5;
b: = 10;
IF (a <= b) THEN
dbms_output。Put_line (' a等於或小於b');
如果;
IF (b >= a) THEN
dbms_output。Put_line (' b等於或大於a');
如果;
IF (a <> b) THEN
dbms_output。Put_line ('a不等於b的值');
其他的
dbms_output。Put_line (' a等於b的值');
如果;
結束;
/
當我們執行上述代碼時,我們得到以下輸出:
A不等於b的值
A不小於b的值
A大於b的值
A等於或小於b的值
B等於或大於a的值
A不等於b的值
PL/SQL過程成功完成
- 比較操作符:這些操作符用於比較一個表達式與另一個表達式。結果總是TRUE, FALSE或NULL。
- LIKE:該操作符將字符、字符串或CLOB值與模式進行比較,如果值與模式匹配則返回TRUE,如果不匹配則返回。
例子:
聲明
比較(值varchar2,模式varchar2)是
開始
如果值喜歡模式,那麼
dbms_output。put_line(“真正的”);
其他的
dbms_output。put_line('錯誤');
如果;
結束;
開始
比較(Sai年代',' Z % ai ');
比較(Sai年代',' Z % ai ');
結束;
/
輸出:
真正的
假
PL/SQL過程成功完成。
- BETWEEN:該操作符測試值是否位於指定範圍之間。C BETWEEN a AND b意味著x>=a並且x<= b。
例子:
聲明
一個數字(2):= 2;
開始
IF (a在1和5之間)THEN
dbms_output.put_line(“真正的”);
其他的
dbms_output.put_line('錯誤');
如果;
如果(a在1和5之間)那麼
dbms_output.put_line(“真正的”);
其他的
dbms_output.put_line('錯誤');
如果;
如果(x在6和10之間)那麼
dbms_output.put_line(“真正的”);
其他的
dbms_output.put_line('錯誤');
如果;
結束;
/
輸出:
真正的
真正的
假
PL/SQL過程成功完成
- IN(集合)意味著變量x等於集合中的任何成員。
- IS NULL:該運算符返回布爾值,如果操作數為NULL則為true,如果不為NULL則為FALSE。比較那些總是產生NULL值的NULL值。
例子:
聲明
varchar2(1):= 'a';
開始
IF(字母在('a', 'b', 'c')) THEN
dbms_output.put_line(“真正的”);
其他的
dbms_output.put_line('錯誤');
如果;
IF(字母在('m', 'n', 'o')) THEN
dbms_output.put_line(“真正的”);
其他的
dbms_output.put_line('錯誤');
如果;
IF(字母為空)THEN
dbms_output.put_line(“真正的”);
其他的
dbms_output.put_line('錯誤');
如果;
結束;
/
輸出:
真正的
假
假
PL/SQL過程成功完成。
- 邏輯操作符:這些操作符作用於布爾操作數,也產生布爾結果。我們可以假設變量A為真,變量B為假。讓我們看看邏輯運算符下麵的運算符
- 並且:該操作符檢查兩個操作數是否為真,然後條件變為真。(A和B)是錯誤的。
- Or:該操作符檢查兩個操作數是否為真,然後condition變為真。(A或B)是錯誤的。
- not:用於反轉操作數的邏輯狀態。如果條件為真,那麼邏輯NOT操作符將為假。(A不是B)是錯誤的。
讓我們看看下麵的例子:
聲明
布爾值:= true;
B布爾值:= false;
開始
如果(a和b)那麼
dbms_output。put_line('給定條件為真');
如果;
如果(a或b)那麼
dbms_output。put_line('給定條件為真');
如果;
如果(不是)那麼
dbms_output。Put_line (' a不為真');
其他的
dbms_output。Put_line (' a是true');
如果;
如果(不是b)那麼
dbms_output。Put_line (' b不為真');
其他的
dbms_output。Put_line (' b是true');
如果;
結束;
/
當我們執行上述代碼時,我們得到以下結果:
給定條件為真
一個是真實的
B不正確
PL/SQL過程成功完成。
- 字符串運算符