學習隨筆(三) 《MySQL深入淺出》 常用函式

2022-07-03 03:51:11 字數 4676 閱讀 2130

ⅰ 、字串函式

cancat(s1,s2,…sn)函式:

把傳入的引數連線成為乙個字串。注意,任何字串與 null 進行連線的結果都將是 null。

insert(str ,x,y,instr)函式:

將字串 str 從第 x 位置開始,y 個字元長的子串替換為字元

lower(str)upper(str)函式:

把字串轉換成小寫或大寫

left(str,x)right(str,x)函式:

分別返回字串最左邊的x個字元最右邊的x個字元。如果第二個引數是 null,那麼將不返回任何字串。

lpad(str,n ,pad)rpad(str,n ,pad)函式:

用字串 pad 對 str最左邊和最右邊進行填充,直到長度為 n 個字元長度。

ltrim(str)rtrim(str)函式:

掉字串 str 左側和右側空格

repeat(str,x)函式:

返回 str重複x 次的結果。

replace(str,a,b)函式:

用字串b 替換字串str 中所有出現的字串a

strcmp(s1,s2)函式:

比較字串s1 和 s2 的 ascii 碼值的大小。如果 s1 比 s2 小,那麼返回-1;如果 s1 與 s2 相等,那麼返回 0;如果 s1 比 s2 大,那麼返回 1。

trim(str)函式:

去掉目標字串的開頭和結尾的空格。  

substring(str,x,y)函式:

返回從字串 str 中的第 x 位置起 y 個字元長度的字串,經常用來對給定字串進行字串的提取

ⅱ、數值函式

abs(x)函式:

返回 x 的絕對值

ceil(x)函式:

返回大於 x 的最大整數

floor(x)函式:

返回小於 x 的最大整數,和 ceil 的用法剛好相反。

mod(x,y)函式:

返回 x/y 的

rand()函式:

返回 0 到 1 內的隨機值。利用此函式可以取任意指定範圍內的隨機數,rand() * n,n為範圍整數值。

round(x,y)函式:

返回引數 x 的四捨五入的有 y 位小數的值。如果是整數,將會保留 y 位數量的 0;如果不寫 y,則預設 y 為 0,即將 x 四捨五入後取整。

truncate(x,y)函式:

返回數字 x截斷為 y 位小數的結果。truncate 僅僅是截斷,而不進行四捨五入。

ⅲ、日期和時間函式

curdate()函式:

返回當前日期,只包含年月日

curtime()函式:

返回當前時間,只包含時分秒

now()函式:

返回當前的日期和時間,年月日時分秒全都包含

unix_timestamp(date)函式:

返回日期date 的 unix 時間戳

from_unixtime(unixtime)函 數 :

返回unixtime 時間戳的日期值, 和unix_timestamp(date)互為逆操作。

week(date)year(date)函式:

前者返回所給的日期是一年中的第幾周,後者返回所給的日期是哪一年

hour(time)minute(time)函式:

前者返回所給時間的小時,後者返回所給時間的分鐘

monthname(date)函式:

返回 date 的英文月份名稱

date_format(date,fmt)函式:

按字串 fmt 格式化日期 date 值,此函式能夠按指定的格式顯示日期。如下是可能用到的格式。

date_add(date,interval expr type)函式:

返回與所給日期 date相差 interval 時間段的日期。其中 interval 是間隔型別關鍵字,expr 是乙個表示式,這個表示式對應後面的型別,type是間隔型別。以下是間隔型別。

datediff(date1,date2)函式:

用來計算兩個日期之間相差的天數

ⅳ、流程函式

if(value,t,f)函式:

如果 value 是真,返回 t;否則返回 f。

ifnull(value1,value2)函式:

如果 value1 不為空返回 value1,否則返回 value2。

case

when[value1]then[result1]   

...…   

else[default]      

end函式:

如果 value1 是真,返回 result1,否則返回 default。

case[expr]     

when[value1]then[result1]     

else[default]      

end函式:

如果 expr 等於 value1,返回 result1,否則返回 default。

ⅴ、其他常用函式

database()函式:返回當前資料庫名

version()函式:返回當前資料庫版本

user()函式:返回當前登入使用者名稱

inet_aton(ip)

inet_ntoa(num)

以上兩個函式主要的用途是將字串的 ip 位址轉換為數字表示的網路位元組序,這樣可以更方便地進行 ip 或者網段的比較。

password(str) 函式:返回字串 str 的加密版本,乙個 41 位長的字串。此函式只用來設定系統使用者的密碼,但是不能用來對應用的資料加密。

md5(str) 函式:返回字串 str 的 md5 值,常用來對應用中的資料進行加密。

深入淺出MySQL

說明索引的設計和使用 sql中的安全問題 常用sql技巧 sql優化過程 優化資料庫物件 鎖問題 本站 深入淺出mysql 個人部落格 深入淺出mysql 1 設計索引原則 2 小常識 3 btree索引 1 了解sql執行頻率 使用show session global statusa來獲得伺服器...

深入淺出MySQL筆記(三)

本筆記為學習該書所記,便於複習。包含第五 六章筆記。常用函式與圖形化工具的使用。toc 常用字串函式 concat s1,s2.sn 連線s1,s2.sn為乙個字串 insert str,x,y,instr 將字串str從第x位置開始,y個字元長的子串替換為字串instr lower str 將字串...

深入淺出Mysql(四)

大批量插入資料優化 1 對應myisam型別的表,可以通過以下方式快速的匯入大量資料 alter table tablname disable keys loading the data alter table tablname enable keys 這兩個命令用來開啟或者關閉myisam表非唯一...