MySQL常用的自帶函式

2021-09-23 21:39:45 字數 2758 閱讀 4052

mysql自帶函式十分豐富,合理使用可以減少很多編碼工作。

數學函式主要用於處理數字,包括整型、浮點數等。數學函式包括絕對值函式、正弦函式、余弦函式、獲取隨機數的函式等。

abs(x):返回x的絕對值

mod(n,m)或%:返回n被m除的餘數

floor(x):返回不大於x的最大整數值

ascii(str):返回字串str的最左面字元的ascii**值。如果str是空字串,返回0。如果str是null,返回null

concat(str1,str2,...):返回來自於引數鏈結的字串。如果任何引數是null,返回null。可以有超過2個的引數。乙個數字引數被變換為等價的字串形式

length(str):返回字串str的長度

instr(str,substr):返回子串substr在字串str中的第乙個出現的位置

left(str,len):返回字串str的最左面len個字元

right(str,len):返回字串str的最右面len個字元

ltrim(str):返回刪除了其前置空格字元的字串str

replace(str,from_str,to_str):返回字串str,其字串from_str的所有出現由字串to_str代替

repeat(str,count):返回由重複counttimes次的字串str組成的乙個字串。如果count <= 0,返回乙個空字串。如果str或count是null,返回null。

reverse(str):返回顛倒字元順序的字串str

insert(str,pos,len,newstr):返回字串str,在位置pos起始的子串且len個字元長的子串由字串newstr代替

dayofweek(date):返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)

weekday(date):返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)

month(date):返回date的月份,範圍1到12

dayname(date):返回date的星期名字

流程控制主要用在儲存過程和一些自定義函式的編寫中。

case value when [compare-value] then result [when [compare-value] then result ...] [else result] end case when [condition] then result [when [condition] then result ...] [else result] end 

在第乙個方案的返回結果中, value=compare-value。而第二個方案的返回結果是第一種情況的真實結果。如果沒有匹配的結果值,則返回結果為else後的結果,如果沒有else 部分,則返回值為 null。

if(expr1,expr2,expr3) 

如果 expr1 是true (expr1 <> 0 and expr1 <> null),則 if()的返回值為expr2; 否則返回值則為 expr3。if() 的返回值為數字值或字串值,具體情況視其所在語境而定。

strcmp(expr1,expr2) 

如果字串相同,strcmp()返回0,如果第一引數根據當前的排序次序小於第二個,返回-1,否則返回1。

系統資訊函式用來查詢mysql資料庫的系統資訊。例如,查詢資料庫的版本,查詢資料庫的當前使用者等。本小節將詳細講解系統資訊函式的作用和使用方法。

獲取mysql版本號、連線數、資料庫名的函式

version()函式返回資料庫的版本號;

connection_id()函式返回伺服器的連線數,也就是到現在為止mysql服務的連線次數;

database()和schema()返回當前資料庫名。

獲取使用者名稱的函式

user()、system_user()、session_user()、current_user()和current_user這幾個函式可以返回當前使用者的名稱。

獲取字串的字符集和排序方式的函式

charset(str)函式返回字串str的字符集,一般情況這個字符集就是系統的預設字符集;collation(str)函式返回字串str的字元排列方式。

獲取最後乙個自動生成的id值的函式

last_insert_id()函式返回最後生成的auto_increment值

加密函式是mysql中用來對資料進行加密的函式。因為資料庫中有些很敏感的資訊不希望被其他人看到,就應該通過加密方式來使這些資料變成看似亂碼的資料。例如使用者的密碼,就應該經過加密。

下面是各種加密函式的名稱、作用和使用方法。

加密函式password(str)

password(str)函式可以對字串str進行加密。一般情況下,password(str)函式主要是用來給使用者的密碼加密的

加密函式md5(str)

md5(str)函式可以對字串str進行加密。md5(str)函式主要對普通的資料進行加密

加密函式encode(str,pswd_str)

encode(str,pswd_str)函式可以使用字串pswd_str來加密字串str。加密的結果是乙個二進位制數,必須使用blob型別的字段來儲存它

decode(crypt_str,pswd_str)函式可以使用字串pswd_str來為crypt_str解密。crypt_str是通過encode(str,pswd_str)加密後的二進位制資料

ormat(x,n)函式可以將數字x進行格式化,將x保留到小數點後n位。這個過程需要進行四捨五入。例如format(2.356,2)返回的結果將會是2.36;format(2.353,2)返回的結果將會是2.35

mysql自帶 Mysql自帶函式

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

Mysql自帶函式

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

String 常用的自帶函式

1 獲取 1.1 字串中包含的字元數,也就是字串的長度。int length 獲取長度 1.2 根據位置獲取位置上某個字元。char charat int index 1.3 根據字元獲取該字元在字串中的位置。int indexof int ch 返回的是ch在字串中第一次出現的位置。int ind...