1. 程式人生 > 資料庫 >自學MySql內建函式知識點總結

自學MySql內建函式知識點總結

字串函式

檢視字元的ascii碼值ascii(str),str是空串時返回0

select ascii('a');

檢視ascii碼值對應的字元char(數字)

select char(97);

拼接字串concat(str1,str2...)

select concat(12,34,'ab');

包含字元個數length(str)

select length('abc');

擷取字串

  • left(str,len)返回字串str的左端len個字元
  • right(str,len)返回字串str的右端len個字元
  • substring(str,pos,len)返回字串str的位置pos起len個字元
select substring('abc123',2,3);

去除空格

ltrim(str)返回刪除了左空格的字串str
rtrim(str)返回刪除了右空格的字串str
trim([方向 remstr from str)返回從某側刪除remstr後的字串str,方向詞包括both、leading、trailing,表示兩側、左、右

select trim(' bar ');
select trim(leading 'x' FROM 'xxxbarxxx');
select trim(both 'x' FROM 'xxxbarxxx');
select trim(trailing 'x' FROM 'xxxbarxxx');
SELECT TRIM(LEADING ' ' FROM ' my ');

返回由n個空格字元組成的一個字串space(n)

select space(10);

替換字串replace(str,from_str,to_str)

select replace('abc123','123','def');

大小寫轉換,函式如下

  • lower(str)
  • upper(str)
select lower('aBcD');

數學函式

求絕對值abs(n)

select abs(-32);

求m除以n的餘數mod(m,n),同運算子%

select mod(10,3);
select 10%3;

地板floor(n),表示不大於n的最大整數

select floor(2.3);

天花板ceiling(n),表示不小於n的最大整數

select ceiling(2.3);

求四捨五入值round(n,d),n表示原數,d表示小數位置,預設為0

select round(1.6);

求x的y次冪pow(x,y)

select pow(2,3);

獲取圓周率PI()

select PI();

隨機數rand(),值為0-1.0的浮點數

select rand();

還有其它很多三角函式,使用時可以查詢文件

日期時間函式

獲取子值,語法如下

  • year(date)返回date的年份(範圍在1000到9999)
  • month(date)返回date中的月份數值
  • day(date)返回date中的日期數值
  • hour(time)返回time的小時數(範圍是0到23)
  • minute(time)返回time的分鐘數(範圍是0到59)
  • second(time)返回time的秒數(範圍是0到59)
select year('2016-12-21');

日期計算,使用+-運算子,數字後面的關鍵字為year、month、day、hour、minute、second

select '2016-12-21'+interval 1 day;

日期格式化date_format(date,format),format引數可用的值如下

獲取年%Y,返回4位的整數

* 獲取年%y,返回2位的整數

* 獲取月%m,值為1-12的整數

獲取日%d,返回整數

* 獲取時%H,值為0-23的整數

* 獲取時%h,值為1-12的整數

* 獲取分%i,值為0-59的整數

* 獲取秒%s,值為0-59的整數

select date_format('2016-12-21','%Y %m %d');

當前日期current_date()

select current_date();

當前時間current_time()

select current_time();

當前日期時間now()

select now();

以上就是本次介紹的全部相關知識點,如果大家有任何需要補充的地方可以聯絡我們的小編。