在MySQL中,函數不僅可以出現在select語句及其子句中,而且還可以出現在update、delete語句中。
常用的函數有:
1. 字符串函數;主要用于處理字符串。
2. 數值函數;主要用于處理數字。
3. 日期和時間函數;主要用于處理日期和事件。
4. 系統信息函數;獲取系統信息。
1. 使用字符串函數:
雖然每種數據庫都支持SQL,但是每種數據庫擁有各自所支持的函數。
1.1 合并字符串函數concat() 和 concat_ws():
在MySQL中可以通過函數concat()和concat_ws()將傳入的參數連接成為一個字符串。
語法定義為:
| concat(s1, s2,...sn)//該函數會將傳入的參數連接起來返回合并的字符串類型的數據。如果其中一個參數為null,則返回值為null. | 
示例:
| mysql> select concat('my','s','ql');+-----------------------+| concat('my','s','ql') |+-----------------------+| mysql |+-----------------------+1 row in set (0.00 sec)mysql> select concat('my','s','ql',null);+----------------------------+| concat('my','s','ql',null) |+----------------------------+| NULL |+----------------------------+1 row in set (0.00 sec)mysql> select concat(curdate(), 12.2);+-------------------------+| concat(curdate(), 12.2) |+-------------------------+| 2016-08-2512.2 |+-------------------------+1 row in set (0.00 sec)//說明:將當前時間和數值12.2合并。即concat()函數不僅可以接受字符串參數,而且還可以接受其他類型參數。 | 
concat_ws()的定義:
| concat_ws(sep,s1,s2,...sn)//該函數與concat()相比,多了一個表示分隔符的seq參數,不僅將傳入的其他參數連接起來,而且還會通過分隔符將各個字符串分割開來。//分隔符可以是一個字符串,也可以是其他參數。如果分割符為null,則返回結果為null。函數會忽略任何分割符后的參數null. | 
示例:
| mysql> select concat_ws('-','020','87658907');+---------------------------------+| concat_ws('-','020','87658907') |+---------------------------------+| 020-87658907 |+---------------------------------+1 row in set (0.00 sec)mysql> select concat_ws(null,'020','87658907');+----------------------------------+| concat_ws(null,'020','87658907') |+----------------------------------+| NULL |+----------------------------------+1 row in set (0.00 sec)//當分隔符為null時,則返回結果為nullmysql> select concat_ws('-','020',null,'87658907');+--------------------------------------+| concat_ws('-','020',null,'87658907') |+--------------------------------------+| 020-87658907 |+--------------------------------------+1 row in set (0.00 sec)//不是第一個參數的null將被忽略 | 
1.2 比較字符串大小函數strcmp():
strcmp()定義為:
新聞熱點
疑難解答