用法 | |
---|---|
CONCAT(S1,S2,......,Sn) | 連接S1,S2,......,Sn爲一個字符串 |
CONCAT_WS(s, S1,S2,......,Sn) | 同CONCAT(s1,s2,...)函數,但是每個字符串之間要加上s |
CHAR_LENGTH(s) | 返回字符串s的字符數 |
LENGTH(s) | 返回字符串s的字節數,和字符集有關 |
INSERT(str, index , len, instr) | 將字符串str從第index位置開始,len個字符長的子串替換爲字符串instr |
UPPER(s) 或 UCASE(s) | 將字符串s的所有字母轉成大寫字母 |
LOWER(s) 或LCASE(s) | 將字符串s的所有字母轉成小寫字母 |
LEFT(s,n) | 返回字符串s最左邊的n個字符 |
RIGHT(s,n) | 返回字符串s最右邊的n個字符 |
LPAD(str, len, pad) | 用字符串pad對str最左邊進行填充,直到str的長度爲len個字符 |
RPAD(str ,len, pad) | 用字符串pad對str最右邊進行填充,直到str的長度爲len個字符 |
LTRIM(s) | 去掉字符串s左側的空格 |
RTRIM(s) | 去掉字符串s右側的空格 |
TRIM(s) | 去掉字符串s開始與結尾的空格 |
TRIM(【BOTH 】s1 FROM s) | 去掉字符串s開始與結尾的s1 |
TRIM(【LEADING】s1 FROM s) | 去掉字符串s開始處的s1 |
TRIM(【TRAILING】s1 FROM s) | 去掉字符串s結尾處的s1 |
REPEAT(str, n) | 返回str重複n次的結果 |
REPLACE(str, a, b) | 用字符串b替換字符串str中所有出現的字符串a |
STRCMP(s1,s2) | 比較字符串s1,s2 |
SUBSTRING(s,index,len) | 返回從字符串s的index位置其len個字符 |
LOWER('SQL Course') | 改變字符爲小寫 |
改變字符爲大寫 |
用法 | |
---|---|
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位小數的結果 |
SQRT(x) | 返回x的平方根 |
POW(x,y) | 返回x的y次方 |
用法 | |
---|---|
CURDATE() 或 CURRENT_DATE() | 返回當前日期 |
CURTIME() 或 CURRENT_TIME() | 返回當前時間 |
NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP() | 返回當前系統日期時間 |
YEAR(date) / MONTH(date) / DAY(date) / HOUR(time) / MINUTE(time) / SECOND(time) | 返回具體的時間值 |
WEEK(date) / WEEKOFYEAR(date) | 返回一年中的第幾周 |
DAYOFWEEK() | 返回周幾,注意:週日是1,週一是2,。。。週六是7 |
WEEKDAY(date) | 返回周幾,注意,周1是0,周2是1,。。。週日是6 |
DAYNAME(date) | 返回星期:MONDAY,TUESDAY.....SUNDAY |
MONTHNAME(date) | 返回月份:January,。。。。。 |
DATEDIFF(date1,date2) / TIMEDIFF(time1, time2) | 返回date1 - date2的日期間隔 / 返回time1 - time2的時間間隔 |
DATE_ADD(datetime, INTERVAL expr type) | 返回與給定日期時間相差INTERVAL時間段的日期時間 |
DATE_FORMAT(datetime ,fmt) | 按照字符串fmt格式化日期datetime值 |
STR_TO_DATE(str, fmt) | 按照字符串fmt對str進行解析,解析爲一個日期 |
用法 | |
---|---|
IF(value,t ,f) | 如果value是真,返回t,否則返回f |
IFNULL(value1, value2) | 如果value1不爲空,返回value1,否則返回value2 |
CASE WHEN 條件1 THEN result1 WHEN 條件2 THEN result2 .... [ELSE resultn] END | 相當於Java的if...else if...else... |
CASE expr WHEN 常量值1 THEN 值1 WHEN 常量值1 THEN 值1 .... [ELSE 值n] END | 相當於Java的switch...case... |
用法 | |
---|---|
database() | 返回當前數據庫名 |
version() | 返回當前數據庫版本 |
user() | 返回當前登錄用戶名 |
password(str) | 返回字符串str的加密版本,41位長的字符串 |
md5(str) | 返回字符串str的md5值,也是一種加密方式 |
-
-
可以嵌套
-
參數可以是一字段或一個表達式或一個值
分組函數作用於一組數據,並對一組數據返回一個值。
DATE_ADD(datetime,INTERVAL expr type)
參數類型 | |
---|---|
YEAR | YEAR_MONTH |
MONTH | DAY_HOUR |
DAY | DAY_MINUTE |
HOUR | DAY_SECOND |
MINUTE | HOUR_MINUTE |
SECOND | HOUR_SECOND |
MINUTE_SECOND |
說明 | 格式符 | 說明 | |
---|---|---|---|
%Y | 4位數字表示年份 | %y | 表示兩位數字表示年份 |
%M | 月名錶示月份(January,....) | %m | 兩位數字表示月份(01,02,03。。。) |
%b | 縮寫的月名(Jan.,Feb.,....) | %c | 數字表示月份(1,2,3,...) |
%D | 英文後綴表示月中的天數(1st,2nd,3rd,...) | %d | 兩位數字表示月中的天數(01,02...) |
%e | 數字形式表示月中的天數(1,2,3,4,5.....) | ||
%H | 兩位數字表示小數,24小時制(01,02..) | %h和%I | 兩位數字表示小時,12小時制(01,02..) |
%k | 數字形式的小時,24小時制(1,2,3) | %l | 數字形式表示小時,12小時制(1,2,3,4....) |
%i | 兩位數字表示分鐘(00,01,02) | %S和%s | 兩位數字表示秒(00,01,02...) |
%W | 一週中的星期名稱(Sunday...) | %a | 一週中的星期縮寫(Sun.,Mon.,Tues.,..) |
%w | 以數字表示週中的天數(0=Sunday,1=Monday....) | ||
%j | 以3位數字表示年中的天數(001,002...) | %U | 以數字表示年中的第幾周,(1,2,3。。)其中Sunday爲週中第一天 |
%u | 以數字表示年中的第幾周,(1,2,3。。)其中Monday爲週中第一天 | ||
%T | 24小時制 | %r | 12小時制 |
%p | AM或PM | %% | 表示% |