SQL 語法裡的邏輯判斷

2021-10-16 16:30:21 字數 791 閱讀 8131

在日常**程式設計中,我們會經常用到if-else進行邏輯判斷,在sql中是否也能進行邏輯判斷呢,答案是肯定的!在sql語句中有以下三個函式可以進行邏輯判斷。

1. decode 函式:

語法decode(條件,值1,返回值1,值2,返回值2,…值n,返回值n,預設值)

–預設值可以省略

函式含義

表示如果 條件 等於 值1 時,decode函式的結果 返回值1 ,…,如果不等於任何乙個條件值,則返回預設值。

即:decode(value, if1, then1, if2,then2, if3,then3, . . . else )

value 代表某個表的任何型別的任意列或乙個通過計算所得的任何結果。如果value的值為if1,decode函式的結果是then1;如果value等於if2,decode函式結果是then2;等等。事實上,可以給出多個if/then 配對。如果value結果不等於給出的任何配對時,decode結果就返回else。需要注意的是,這裡的if、then及else 都可以是函式或計算表示式。

【注意】:decode 函式 ,只能在select 語句用。decode函式是oracle pl/sql特有的功能強大的函式之一,其他資料庫廠商的sql實現還沒有此功能。

2. nvl(expr1,expr2)函式

若expr1是null,則返回expr2,否則返回expr1.

3. sign(value)函式

根據value值是0、正數還是負數,分別返回0、1、-1,

sql裡的 DML語法結構

create table語法 在oracle中 default value 必須放在最前邊,其它約束順序不限 create table table name column name column type default value not null primary key unqiue alter...

關於VB裡判斷邏輯的乙個說明

如上圖,當進行連續判斷的時候,即使第乙個已經不符合條件了,後面的依然會計算.這點一定要記住,除非你所有的函式都有必要執行,否則會導致效率降低.減 不一定能提高效率,對於iif和連續判斷寫法,貌似很多人都不知道funca,funcb,funcc都會執行 如下,有興趣的可以去試試 or 是否也像 and...

freemarker的語法,迴圈,邏輯

常用語法 eg.乙個物件book 1.輸出 空值判斷 預設值 預設值 日期格式 數字格式 20 插入布林值 邏輯判斷 2 a inc 發布於2007 09 08 16 18 57 ion2 其中空值判斷可以寫成 b 迴圈讀取 3 空值判斷 e.g.用來壓縮空白空間和空白的行 用例 1 2 3 4 5...