mysql中的ifnull 函式判斷空值

2022-02-22 23:08:23 字數 1052 閱讀 1167

我們知道,在不同的資料庫引擎中,內建函式的實現、命名都是存在差異的,如果經常切換使用這幾個資料庫引擎的話,很容易會將這些函式弄混淆。

比如說判斷空值的函式,在oracle中是nvl()函式、nvl2()函式,在sql server中是isnull()函式,這些函式都包含了當值為空值的時候將返回值替換成另乙個值的第二引數。

但是在mysql中,isnull()函式僅僅是用於判斷空值的,接受乙個引數並返回乙個布林值,不提供當值為空值的時候將返回值替換成另乙個值的第二引數。

select

isnull('

i like yanggb

'); //

0select

isnull(null); //

1

因此mysql另外提供了乙個ifnull()函式。

簡單介紹

ifnull()函式是mysql內建的控制流函式之一,它接受兩個引數,第乙個引數是要判斷空值的字段或值(傻?),第二個欄位是當第乙個引數是空值的情況下要替換返回的另乙個值。如果第乙個引數不是null,則返回第乙個引數;否則,將返回第二個引數。兩個引數都可以是文字值或表示式。

函式的語法

ifnull(v1, v2)

其中,如果v1不為null,則ifnull函式返回v1; 否則返回v2的結果。

簡單示例

select ifnull(null, '

i like yanggb

'); // i like yanggb

在上面的例子中,由於第乙個引數為null,所以返回的是第二個引數的值。

select ifnull('

i like yanggb

', '

i do like yanggb

'); // i like yanggb

在上面的例子中,由於第乙個引數不為null,所以返回的是第乙個引數的值。

"你好像瘦了,頭髮也變長了,背影陌生到讓我覺得,見你是上個世紀的事,然後你開口叫我名字,我就想笑,好像自己剛剛放學,只在校門口等了你五分鐘而已。"

MYSQL中的IFNULL與IF函式

1.ifnull expr1,expr2 2.如果expr1不是null,ifnull 返回expr1,否則它返回expr2。ifnull 返回乙個數字或字串值,取決於它被使用的上下文環境。3.mysql select ifnull 1,0 4.1 5.mysql select ifnull 0,1...

關於MySQL中的IFNULL函式和IF函式

mysql中的ifnull函式類似於oracle中的nvl函式,其表示式為 ifnull expr1,expr2 含義是 如果第乙個引數不為空,則返回第乙個引數,否則返回第二個引數。if expr1,expr2,expr3 類似於oracle中的nvl2函式,含義是 如果第乙個表示式的值為true ...

MySql的IF和IFNULL函式

mysql的if既可以作為表示式用,也可在儲存過程中作為流程控制語句使用,如下是做為表示式使用 if expr1,expr2,expr3 如果 expr1 是true expr1 0 and expr1 null 則 if 的返回值為expr2 否則返回值則為 expr3。if 的返回值為數字值或字...