Mysql自帶函式

2021-09-02 12:32:48 字數 1903 閱讀 3246

1. ifnull()函式

格式:ifnull(expr1,expr2)

說明:如果expr1不是null,ifnull()返回expr1,否則它返回expr2。

ifnull()返回乙個數字或字串值,取決於它被使用的上下文環境。

舉例:

mysql> select ifnull(1,0);

+-------------+

| ifnull(1,0) |

+-------------+

| 1 |

+-------------+

1 row in set

mysql> select ifnull(1/0,'nowamagic');

+-------------------------+

| ifnull(1/0,'nowamagic') |

+-------------------------+

| nowamagic |

+-------------------------+

1 row in set

2. if()函式

格式:if(condition,a,b)

說明:當condition為true時,返回a;當condition為false時,返回b。

if()

的返回值為數字值或字串值,具體情況視其所在語境而定。

舉例:

mysql> select if(1>2,2,3);

-> 3

mysql> select if(1<2,'yes ','no');

-> 'yes'

3. group_concat()

格式:group_concat([distinct] 要合併的字段 [order by asc/desc 排序字段] [separator '分隔符'])

說明:用來應付如一對多情況的變體情況。 該方法往往配合group by 一起使用。

舉例:

mysql>select locus,id,journal from info where locus in('ab086827','af040764');

+----------+----+--------------------------+

| locus | id | journal |

+----------+----+--------------------------+

| ab086827 | 1 | unpublished |

| ab086827 | 2 | submitted (20-jun-2002) |

| af040764 | 23 | unpublished |

| af040764 | 24 | submitted (31-dec-1997) |

+----------+----+--------------------------+

mysql>select locus,group_concat(id) from info where locus in('ab086827','af040764') group by locus;

+----------+------------------+

| locus | group_concat(id) |

+----------+------------------+

| ab086827 | 1,2 |

| af040764 | 23,24 |

+----------+------------------+

mysql自帶 Mysql自帶函式

1.ifnull 函式 格式 ifnull expr1,expr2 說明 如果expr1不是null,ifnull 返回expr1,否則它返回expr2。ifnull 返回乙個數字或字串值,取決於它被使用的上下文環境。舉例 mysql select ifnull 1,0 ifnull 1,0 1 1...

MySQL常用的自帶函式

mysql自帶函式十分豐富,合理使用可以減少很多編碼工作。數學函式主要用於處理數字,包括整型 浮點數等。數學函式包括絕對值函式 正弦函式 余弦函式 獲取隨機數的函式等。abs x 返回x的絕對值 mod n,m 或 返回n被m除的餘數 floor x 返回不大於x的最大整數值 ascii str 返...

各種自帶函式

之一 sort sort str,str i,cmp 為排序函式,內部執行的是快速排序 就是頭乙個指標向後,尾乙個指標向前,遇到頭比尾大的就調過來 呼叫之後就可得到乙個從小到大排列的序列。其中,i為待排序列的長度,cmp為排序標準。重點是這個cmp,內部大致為 bool cmp a,b if a 如...