SQL 語法里的邏輯判斷


在日常代碼編程中,我們會經常用到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,


作者:快樂隨行

https://www.cnblogs.com/jddreams/p/14277836.html

著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明原文作者及出處。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM