MySQL——單行函數

字符函數

  • [ lower(str) ]:返回字符串str變爲小寫字母
select lower('HelloWorld');
  • [ upper(str) ]:返回字符串str變爲大寫字母
select upper('HelloWorld');
  • [ concat(str_1,str_2) ]:返回結果爲鏈接參數產生的字符串
select concat(name,'的月薪是:',sal) from dual;
  • [ char_length(str) ]:字符串長度
select char_length('我今年23歲') from dual;
  • [ length(str) ]:字符串長度(單位爲字節)
select length('我今年23歲') from dual;

一個英文字母,數字佔一個字節,一箇中文佔三個字節函數

  • [ lpad(str,len,padstr) ]:左填充,具體看例子,注意len不一樣,結果不一樣
select lpad('ABC',7,'X'),lpad('ABC',3,'X'),lpad('ABC',1,'X') from dual;

圖片描述

  • [ rpad(str,len,padstr) ]:右填充
select rpad('ABC',7,'X'),rpad('ABC',3,'X'),rpad('ABC',1,'X') from dual;

圖片描述

  • [ ltrim(str) ]:左邊空格被trim掉
  • [ rtrim(str) ]:右邊空格被trim掉
  • [ trim(str) ]:左/右兩邊空格被trim掉
select ltrim(' A B C '),rtrim(' A B C '),trim(' A B C ') from dual;

圖片描述

  • [ replace(str,from_str,to_str) ]:替換字符串中的字符,大小寫敏感

圖片描述

  • [ substring(str,pos,len) ]:截取字符串

select substring('ABCDEFGHI',3),substring('ABCDEFGHI',3,3) from dual;spa

圖片描述

數字函數

  • [ abs ]:返回一個數字的絕對值
select abs(-32);
  • [ mod(N,M) ]:返回N被M除後的餘數
select mod(42,10);
select 42 mod 10;
  • [ pi() ]:圓周率
select pi();
  • [ pow(X,Y) ]:X的Y次方
select pow(2,4);
  • [ ceil(x) ]:返回不小於x的最小整數值
select ceil(0.5),ceil(-1.5),ceil(1.5);

圖片描述

  • [ floor(x) ]:返回不大於x的最大整數值
select floor(0.5),floor(-1.5),floor(1.5);

圖片描述

  • [ round(x),round(x,n) ]:返回參數x其值最近似的整數。
select round(-1.49),round(-1.50),round(1.49),round(1.50);

圖片描述

select round(-123.456789,3),round(-123.456789,3);/*小數點第n位,n位四捨五入*/

圖片描述

select round(-123.456789,3),round(-123.456789,-3); /*小數點前用負號*/

圖片描述

日期函數

  • [ now() ]:當前時間
select now();

圖片描述

  • [ date_add ]:向日期添加指定的時間間隔
select date_add('2019-04-06',interval 100 day); /*也能夠-100*/
select date_add(now(),interval 100 day);
  • [ date_sub ]:
select date_sub('2019-04-06',interval 100 day);
select date_sub(now(),interval 100 day);
  • [ current_date() ]:當前日期
select current_date();
  • [ current_time() ]:當前時間
select current_time();
  • [ datediff(expr1,expr2) ]:返回起始時間expr1和結束時間expr2之間天數
select datediff('2015-12-31','2016-12-31');
  • [ day,hour,minute,month,year,last_day ]:獲取日期時間中的某一段
select year(now()),month(now()),minute(now());
  • [ unix_timestamp(date) ]:返回距離1970-01-01 00:00:00的秒數
select unix_timestamp(now());

圖片描述

  • [ from_unixtime() ]
select from_unixtime(unix_timestamp(now()));

圖片描述

  • [ format(X,D) ]:數字和字符串的轉換
select format(123456.789,2);/*保留D位小數*/

圖片描述

  • [ date_format(date,format) ]:把日期轉化爲字符串
select date_format(now(),'%Y-%m-%d');

圖片描述

  • [ str_to_date ]:字符串轉換爲日期時間值
select str_to_date('2018,05,20','%Y,%m,%d');

圖片描述

相關文章
相關標籤/搜索