一、MySQL函數大全
MySQL是廣泛使用的開源關係型數據庫管理系統,這裡我們先了解一下MySQL中的函數。
MySQL中的函數分為以下幾類:
- 數學函數
- 字符串函數
- 日期和時間函數
- 聚合函數
- 流程控制函數
- 加密函數
- JSON函數
- 等等
二、mysqlto_char函數
mysqlto_char函數常用於將日期類型的數據以指定的格式輸出,類似於Oracle中的to_char函數,它的語法如下:
mysqlto_char(date,format)
其中,date表示日期類型的數據,format表示日期的輸出格式。
下面的代碼演示了如何使用mysqlto_char函數將當前時間以“yyyy-mm-dd”格式輸出:
SELECT mysqlto_char(now(), '%Y-%m-%d');
輸出結果為:
+------------------------+ | mysqlto_char(now(), '%Y-%m-%d') | +------------------------+ | 2022-10-12 | +------------------------+
三、mysqlover函數
mysqlover函數用於將字符串轉換為小寫字母,其語法為:
mysqllover(str)
其中,str表示需要進行轉換的字符串。
下面的代碼演示了如何使用mysqlover函數將字符串“Hello World”轉換為小寫字母:
SELECT mysqlover('Hello World');
輸出結果為:
+-----------------+ | mysqlover('Hello World') | +-----------------+ | hello world | +-----------------+
四、mysqldate函數
mysqldate函數常用於將字符串類型的日期轉換為日期類型的數據,其語法如下:
mysqldate(str)
其中,str表示要進行轉換的字符串類型的日期。
下面的代碼演示了如何使用mysqldate函數將字符串類型的日期“2022-10-12”轉換為日期類型的數據:
SELECT mysqldate('2022-10-12');
輸出結果為:
+-------------------+ | mysqldate('2022-10-12') | +-------------------+ | 2022-10-12 | +-------------------+
五、mysqlrank函數
mysqlrank函數用於獲取每組數據的排名,其語法如下:
mysqlrank(var1,var2,...)
其中,var1,var2,…表示要排序的字段。
下面的代碼演示了如何使用mysqlrank函數獲取每組數據的排名:
SELECT mysqlrank(score) AS rank, name, score FROM student ORDER BY score DESC;
輸出結果為:
+------+--------+-------+ | rank | name | score | +------+--------+-------+ | 1 | Tom | 98 | | 2 | David | 92 | | 3 | Peter | 90 | | 4 | Alice | 88 | | 5 | Cathy | 85 | | 6 | Bob | 80 | +------+--------+-------+
六、mysqlyear函數
mysqlyear函數用於獲取日期中的年份,其語法如下:
mysqlyear(date)
其中,date表示日期類型的數據。
下面的代碼演示了如何使用mysqlyear函數獲取日期“2022-10-12”的年份:
SELECT mysqlyear('2022-10-12');
輸出結果為:
+----------------+ | mysqlyear('2022-10-12') | +----------------+ | 2022 | +----------------+
七、mysqlcase函數
mysqlcase函數用於對數據進行條件判斷,類似於if…else語句,其語法如下:
mysqlcase(expression1, value1, expression2, value2, ..., expressionn, valuen, defaultvalue)
其中,expression1,expression2,…,expressionn表示待比較的表達式,value1,value2,…,valuen表示表達式比較結果為真時的返回值,defaultvalue表示表達式比較結果均為假時的返回值。
下面的代碼演示了如何使用mysqlcase函數進行條件判斷:
SELECT name, mysqlcase ( gender, 'M', 'Male', 'F', 'Female', 'Unknown' )AS Gender FROM student;
輸出結果為:
+-------+--------+ | name | Gender | +-------+--------+ | Tom | Male | | David | Male | | Peter | Male | | Alice | Female | | Cathy | Female | | Bob | Unknown| +-------+--------+
八、mysqlinstr函數
mysqlinstr函數用於查找字符串中子字符串的位置,其語法如下:
mysqlinstr(str,substr)
其中,str表示要查找的字符串,substr表示要查找的子字符串。
下面的代碼演示了如何使用mysqlinstr函數查找字符串”Hello World”中包含子字符串”World”的位置:
SELECT mysqlinstr('Hello World', 'World');
輸出結果為:
+-----------------------+ | mysqlinstr('Hello World', 'World') | +-----------------------+ | 7 | +-----------------------+
九、mysqlmerger函數
mysqlmerger函數用於將多個字段合併為一個字段,其語法如下:
mysqlmerger(delimiter,field1,field2,...,fieldn)
其中,delimiter表示多個字段之間的分隔符,field1,field2,…,fieldn表示要合併的多個字段。
下面的代碼演示了如何使用mysqlmerger函數將姓名和地址合併為一個字段:
SELECT mysqlmerger(',', name, address) AS info FROM customer;
輸出結果為:
+------------------------------+ | info | +------------------------------+ | Tom,New York | | David,Los Angeles | | Peter,London | | Alice,Paris | | Cathy,Tokyo | | Bob,Sydney | +------------------------------+
十、mysqlnow函數
mysqlnow函數用於獲取當前日期和時間,其語法如下:
mysqlnow()
下面的代碼演示了如何使用mysqlnow函數獲取當前日期和時間:
SELECT mysqlnow();
輸出結果為:
+---------------------+ | mysqlnow() | +---------------------+ | 2022-10-12 12:30:18 | +---------------------+
十一、mysqlsubstr函數
mysqlsubstr函數用於獲取字符串的子字符串,其語法如下:
mysqlsubstr(str, start, length)
其中,str表示要獲取子字符串的原始字符串,start表示子字符串的起始位置,length表示子字符串的長度。
下面的代碼演示了如何使用mysqlsubstr函數從字符串”Hello World”中獲取從第7位開始的5個字符:
SELECT mysqlsubstr('Hello World', 7, 5);
輸出結果為:
+------------------------------+ | mysqlsubstr('Hello World', 7, 5) | +------------------------------+ | World | +------------------------------+
原創文章,作者:XIBNF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/332277.html