mysql 技巧整理

基礎語法進階

IFNULL(xxx,xx) : 如果XXX字段爲null,轉換爲XX值

like ‘_a’ : 模糊查詢中只包含一個字符

ESCAPE '~' : 轉義符,可以直接用 ‘\’ 也可用ESCAPE ‘ ’

常用函數整理

字符函數

length('') 獲取參數的字節數

CONCAT(str1,str2,...) : 拼接字符串
CONCAT_WS(separator,str1,str2,...) : 拼接字符串,使用separator分割

upper、lower 轉換大小寫;

substr、substring

SUBSTR(str,pos) :截取制定位置後的字符串

SUBSTR(str,pos,len) : 截取從制定位置開始制定長度的字符

INSTR(str,substr) : 返回指定字符串在當前字符串中的索引位置

TRIM([remstr FROM] str) :在字符串中去掉指定字符(開頭和結尾)

LPAD(str,len,padstr) :左填充,用指定的字符,將字符串爲填充指定的長度

RPAD(str,len,padstr) :右填充,用指定的字符,將字符串爲填充指定的長度

`REPLACE`(str,from_str,to_str) : 在指定字符串中替換給定的字符串,全部替換

數學函數

ROUND(X) :四捨五入,小數點後

ROUND(X,D):四捨五入 ,指定位數

CEIL(X) :向上取整

FLOOR(X) : 向下取整

`TRUNCATE`(X,D) : 截斷小數點後D位

`MOD`(N,M) : 取模;MOD(a,b) : a-a/b*b  (java中‘a\b’取整數)

日期函數

now(): 當前日期加時間

CURTIME() :當前時間

獲取時間的指定部分:

YEAR(date); `MONTH`(date)【數字】; MONTHNAME(date)【英文】; `DAY`(date); ...........

STR_TO_DATE(str,format): STR_TO_DATE('1-1-1999','%m-%d-%Y')    結果:1999-01-01

DATE_FORMAT(date,format) :將日期轉換爲指定的格式

流程控制函數

  1. if函數
    `IF`(expr1,expr2,expr3)  :相當於三元運算符
  2. case
    用法1:
    case 要判斷的字段或者是表達式
    when 常量1 then 要顯示的語句1或值1;
    when 常量2 then 要顯示的語句2或值2;
    ........
    else 要顯示的值或語句(默認)
    end
    用法2:
    case 
    when 條件1 then 要顯示的語句1或值1;
    when 條件2 then 要顯示的語句2或值2;
    ........
    else 要顯示的值或語句(默認)
    end

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章