標籤:
數學函數
ABS(X) 返回X的絕對值
SQRT(x) 返回非負數X的二次方根
MOD(x,y) 返回x被y除後的餘數
CEIL(x) 返回不小於x的最小整數
FLOOR(x) 返回不大於X的最大整數
RAND() 返回0-1之間的隨機數
ROUND(x,y) 對x四捨五入,結果保留y位的小數
POW(x,y) 返回X的Y次方的值
字串函數
CHAR_LENGTH(str) 返回字串的字元個數一個漢字也是一個
LENGTH(str) 返回字串的位元組數,一個漢字三個位元組
CONCAT(s1,s2,s3) 連接字串
CONCAT_WS(x,s1,s2,s3) 用X作為串連符放在兩個字串之間
LOWER(str) 轉為小寫字母
UPPER(str) 轉為大寫字母
LEFT(str,n) 從左側開始截取n個字元
RIGHT(str,n) 從右側開始截取n個字元
SUBSTRING(str,n,len) 從n開始截取len長度的字串
LPAD(str,len,str2) 從左邊開始用str2填充到len長度
RPAD(str,len,str2) 從右邊開始
TRIM(str) LTRIM(str) RTRIM(str) 刪除空格或者指定字元和PHP中一樣
REPEAT(str,n) 重複產生n次str
REPLACE(str,a,b) 把字串中的a替換為b
REVERSE(str) 字串反轉
日期和時間
CURDATE() CURRENT_DATE() 返回當前日期2011-07-24
CURTIME() CURRENT_TIME() 返回目前時間10:12:12
NOW() CURRENT_TIMESTAMP() 返回當前日期和時間 2013-03-24 10:28:43
UNIX_TIMESTAMP() 返回時間郵戳
FROM_UNIXTIME() 把時間戳記轉為普通格式時間 2013-03-24 10:54:51
DATE_FORMAT() 格式化日期和時間類似於date()
條件判斷
IF(expr,v1,v2) 如果expr為true返回v1否則返回v2
select IF(1>2,‘yes‘,‘no‘)
IFNULL(v1,v2) 如果v1不為NULL返回v1否則返回v2
select IFNULL(1,2)
CASE 兩種用法舉例
select CASE 2 WHEN 1 THEN ‘one‘ WHEN 2 THEN ‘two‘ ELSE ‘more‘ END;
select CASE WHEN 1<0 THEN ‘true‘ ELSE ‘false‘ END;
系統函數
VERSION() 當前mysql版本
CONNECTION_ID() 目前使用者串連數
show processlist 查看目前使用者的串連資訊前10條
show full processlist 全部
CHARSET(str) 查看字串的字元集 utf8...
COLLATION(str) 查看字串的相片順序 utf8_general_ci...
加密函數
PASSWORD(str) 加密使用者密碼
MD5(str) MD5
其他函數
FORMAT(x,n) 格式化字串
CONV(num,base,to) 不同進位數字進行轉換
CONV(15,10,8) 把15轉為8進位
BENCHMARK(num,expr) 重複執行sql語句expr num次
CONVERT(‘string‘ USING latin1) 改變字串字元集
CAST(x,AS type) 改變資料類型
CAST(100 AS CHAR(2)) 返回的就是字串格式的‘10‘
MYSQL 函數複習