程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 前端學數據庫之函數,學數據庫之函數

前端學數據庫之函數,學數據庫之函數

編輯:MySQL綜合教程

前端學數據庫之函數,學數據庫之函數


×
目錄
[1]字符函數 [2]數值運算符 [3]比較運算符[4]日期時間[5]信息函數[6]聚合函數[7]加密函數[8]自定義函數

前面的話

  mysql數據庫中的函數根據功能可以劃分為字符函數、數值運算符與函數、比較運算符與函數、日期時間函數、信息函數、聚合函數、加密函數以及自定義函數等。下面將詳細介紹數據庫中的函數

 

字符函數

CONCAT()

  CONCAT()函數用於字符連接

  CONCAT()函數也可用於將一個數據表中的兩個字段的所有記錄進行字符連接

CONCAT_WS()

  CONCAT_WS()函數使用指定的分隔符進行字符連接,該函數的第一個參數是指定分隔符

FORMAT()

  FORMAT()函數主要用於數字格式化,最終返回一個字符型數字。第一個參數為待格式化的數字,第二個參數為要保留的小數位數 

LOWER()

  LOWER()函數將字符轉換成大寫字母

UPPER()

  UPPER()函數將字符轉換成小寫字母

LEFT()

  LEFT()函數用於獲取左側字符

RIGHT()

  RIGHT()函數用於獲取右側字符

LENGTH()

  LENGTH()函數用於獲取字符串長度

LTRIM()

  LTRIM()函數用於刪除前導空格

RTRIM()

  RTRIM()函數用於刪除後續空格

TRIM()

  TRIM()函數用於刪除前導和後續空格

REPLACE()

  REPLACE()函數用於字符串替換

SUBSTRING()

  SUBSTRING()函數用於字符串截取,第一個參數是開始截取的起始位置,第二個參數是截取的字符數目

  [注意]這裡是從1開始計數的,而不是從0開始的

  如果省略第二個參數,則一直截取到字符串的結尾

[NOT] LIKE

  [NOT] LIKE用於模式匹配,其中%代表0個或多個字符,_代表任意1個字符。返回1表示匹配,0表示不匹配

 

數值運算符

CEIL()

  CEIL()函數主要用於進一取整(向上取整)

 

FLOOR()

  FLOOR()函數主要用於捨一取整(向下取整)

ROUND()

  ROUND()函數主要用於四捨五入,兩個參數分別為浮點數和保留的小數位數

DIV

  DIV主要用於整數除法

MOD

  MOD主要用於取余數(取模),等同於% ,可以是整數也可以是小數

POWER()

  POWER()函數主要用於冪運算

TRUNCATE()

  TRUNCATE()函數主要用於數字截取,兩個參數分別為數值和截斷到小數點後n位

 

比較運算符

[NOT] BETWEEN...AND...

  [NOT] BETWEEN...AND...表示[不]在范圍之內

[NOT] IN()

  [NOT] IN()表示[不]在列出值范圍內

IS [NOT] NULL

  IS [NOT] NULL表示[不]為空

 

日期時間

NOW()

  NOW()函數返回當前日期和時間

CURDATE()

  CURDATE()函數返回當前日期

CURTIME()

  CURTIME()函數返回當前時間

DATE_ADD()

  DATE_ADD()函數日期變化,可以增加,也可以減少

 DATEDIFF()

  DATEDIFF()函數日期差值,兩個日期的差值

DATE_FORMAT()

  DATE_FORMAT()函數進行日期格式化

 

信息函數

CONNECTION_ID()

  CONNECTION_ID()返回連接ID(線程ID)

DATEBASE()

  DATEBASE()返回當前數據庫名稱

LAST_INSERT_ID()

  LAST_INSERT_ID()返回最後插入記錄的ID,當一次性寫入多條記錄時,函數返回的ID為第一條記錄的ID

USER()

  USER()返回當前用戶

VERSION()

  VERSION()返回版本信息

   

聚合函數

  聚合函數只能用於數據表,不能用於單個數值的計算

  下面建立一個test數據表用來測試數據

AVG():平均值
COUNT():計數 
MAX():最大值 
MIN():最小值
SUM():求和
 

加密函數

MD5()

  MD5():信息摘要算法,為以後的Web頁面做准備,盡量使用MD5()

PASSWORD()

  PASSWORD():密碼算法,通過PASSWORD()修改當前用戶和其他用戶的密碼,修改客戶端自己的密碼

 

自定義函數

  函數可以返回任意類型的值,同樣可以接收這些類型的參數。函數參數和返回值之前沒有必然的聯系

  [注意]一個函數最多可以有1024個參數

  用戶自定義函數(user-defined function,UDF)是一種對MySQL擴展的途徑,其用法與內置函數相同

  自定義函數的兩個必要條件:1、參數;2、返回值

創建自定義函數

CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body

  關於自定義函數的函數體

  1.函數體可以由合法的SQL語句構成;

  2.函數體可以是簡單的SELECT或INSERT語句;

  3.函數體如果為復合結構則使用BEGIN...END語句;

  4.復合結構可以包含聲明、循環、控制結構。

創建不帶參數的自定義函數

CREATE FUNCTION f1() RETURNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H點:%i分:%s秒');

創建帶參數的自定義函數

CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) RETURNS FLOAT(10,2) UNSIGNED RETURN  (num1+num2)/2;

  [注意]如果自定義函數存在符合結構的多個語句,函數體要包含在BEGIN...END內,同時,需要通過DELIMITER將默認的結束符 ; 修改成其他符號,如://   $$  ,以免函數由於語句結尾的 ; 號導致中斷

刪除函數

DROP FUNCTION [IF EXISTS] function_name

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved