常用函式
1.字串函式
concat(str1,str2,..,strn)
將str1,str2..strn 拼接成乙個字串,當這裡有任何乙個為null,則拼接結果為null
insert(str, idx,len,tarstr)
將字串str從 idx 位置開始,len個字元長度的子串替換為字串tarstr.
lower(str) / upper(str)
left( str , len ) / right( str , len )
返回 str 最左/右邊的 len 個字元
lpad( str , len , fill_str ) / rpad( str , len , fill_str )
使用字串 fill_str 對str最左/右邊進行填充,直到長度為 len 個字元長度.
ltrim(str) / rtrim(str) / trim(str)
去掉字串str 最左側的空格 / 最右側的空格 / 兩側的空格
repeat(str, count)
返回 str 重複 count 次的結果
replace( str, src_str ,tar_str )
用字串 tar_str 替換 所有 出現在 str 中的字串 src_str ;
strcmp(s1,s2)
比較字串s1和s2的ascii的大小.
s1s2 返回1 ; s1=s2 返回0.
substring( str , idx , len )
返回字串 str 從第 idx 索引處開始 長度為 len 的字串.
2.數值函式
abs(x)
返回x的絕對值
ceil(x)
返回大於x的最大整數值
floor(x)
返回小於x的最大整數值
mod(x,y)
相當於 x%y
rand()
返回0~1之間的隨機數
round(x,y)
返回 x 四捨五入後有y位小數的值
truncate(x,y)
返回 x 截斷 為y位小數的結果;
round() 和 truncate() 區別是 前者會進行四捨五入,後者只是截斷,而不會四捨五入.
3.日期/時間 函式
curdate()
返回當前日期,只包含年月日yyyy-mm-dd
curtime()
返回當前時間,只包含時分秒hh:mm:ss
now()
返回當前日期+時間.yyyy-mm-dd hh:mm:ss
unix_timestamp(date)
返回日期date的unix時間戳
from_unixtime(unixtime)
返回unixtime時間戳的日期值.與unix_timestamp(date)函式互為逆操作.
week(date)
返回一年中的第幾周
year(date)
返回所給日期是哪年
hour(time)
返回所給時間的小時
minute(time)
返回所給時間的分鐘
monthname(date)
返回所給date相對應的月份的英文名稱,如july.
date_format(date,fmt)
返回按字串fmt格式化日期date值.
fmt可用到的格式符號:
%s,%s 兩位數字形式的秒
%i 兩位數字形式的分
%h 兩位數字形式的小時,24小時制
%h,%i 兩位數字形式的小事,12小時制 todo
%k 數字形式的小時,24小時制.不滿10的,不補0
%l 數字形式的小時,12小時制.不滿10的,不補0 todo
%t 24小時制的時間形式 hh:mm:ss
%r 12小時制的時間形式 hh:mm:ssam 或 hh:mm:sspm
%p am 或pm
%w 一周中每一天的英文名稱(如sunday,monday)
%a 一周中沒一台呢的英文名稱的縮寫(如sun,mon)
%d 兩位數字表示月中的天數
%e 數字形式表示月中的天數
%d 英文本尾表示月中的天數(1st,2nd,3rd)
%w 以數字形式表示週中的天數(0=sunday,1=monday...)
%j 以3位數字表示年中的天數
%u 周(0,1,52) , sunday為周的第一天
%u 周(0,1,52) , monday為周的第一天
%m 月的英文名(january,february..)
%b 月的英文名縮寫(jan,feb,dec...)
%m 兩位數字表示的月份
%c 數字表示的月份
%y 4位數字表示的年份
%y 兩位數字表示的年份
%% 直接值"%"
date_add(date,interval expr type)
其中,interval是關鍵字,expr是表示式,type是間隔型別.
mysql的13種間隔(interval)型別
hour 小時 hh
minute 分 mm
second 秒 ss
year 年 yy
month 月 mm
day 日 dd
year_month 年月 yy-mm
day_hour 日和小時 dd hh
day_minute 日和分鐘 dd hh:mm
day_second 日和秒 dd hh:mm:ss
hour_minute 小時和分 hh:mm
hour_second 小時和秒 hh:ss
minute_second 分鐘和秒 mm:ss
demo : select date_add( now() , interval -31 day) as before31days ;
datediff(date1,date2)
計算兩個日期中間相差多少天 todo 驗證是否和兩個引數的順序相關
4.流程函式
database()
返回當前資料庫名
version()
返回當前資料庫版本
user()
返回當前登入使用者名稱
inet_aton(ip)
返回ip位址的數字表示,多用於ip大小的比較
inet_ntoa(num)
返回數字代表的ip位址.不要用這種方式比較大小
password(str)
返回字串str的加密版本.返回的字串長度為41.
只用於對系統使用者的密碼進行加密,不要用於資料的加密
md5(str)
返回字串str的md5值.對資料進行加密.
Mysq篇 了解Mysql(一)
in關鍵字和exists關鍵字select from a where a.idin select id from b 對外表a使用索引效率高,建議a為大表。select from a whereexists select from b where a.id b.id 對內表b使用索引效率高,建議b為...
mysql 密碼清楚 linux清除MYSQL密碼
1.先以root使用者登入系統 2.關閉mysql服務或程序 service d stop killall mysqld 3.特權啟動mysql usr local mysql bin mysqld safe skip grant tables or mysqld safe skip grant t...
安裝mysql步驟 start 安裝mysql步驟
1.yum install lrzsz 安裝上傳功能 2.檢視系統是否裝有mysql rpm qa grep mysql 3.檢視系統mysql位置 whereis mysql 4.解除安裝mysql yum y remove mysql libs.x86 64 5.檢視yum庫上的mysql版本 ...