mysql 常用的三類函數(shù)

本篇文章主要介紹mysql 常用的三類函數(shù),感興趣的朋友參考下,希望對大家有所幫助。

一、字符串類。

注:mysql在處理字符串時,字符下標從1開始。

1、concat(string1, string2, ……); //連接字符串

mysql> select concat(‘leng’, ‘xue’, ‘gang’) as name;
+————-+
| name??????? |
+————-+
| lengxuegang |?
+————-+
1 row in set (0.00 sec)

2、instr(string, substring); //返回substring首次在string中出現(xiàn)的位置,不存在返回0

mysql> select instr(‘lengxuegang’, ‘xue’);
+—————————–+
| instr(‘lengxuegang’, ‘xue’) |
+—————————–+
|?????????????????????????? 5 |?
+—————————–+
1 row in set (0.00 sec)

mysql> select instr(‘lengxuegang’, ‘none’);
+——————————+
| instr(‘lengxuegang’, ‘none’) |
+——————————+
|??????????????????????????? 0 |?
+——————————+
1 row in set (0.00 sec)

3、lcase(string); //轉(zhuǎn)換為小寫

mysql> select lcase(‘LengxueGang’);
+———————-+
| lcase(‘LengxueGang’) |
+———————-+
| lengxuegang????????? |?
+———————-+
1 row in set (0.00 sec)

4、left(string, length); //從string左邊起取length個字符

mysql> select left(‘lengxuegang’, 4);
+————————+
| left(‘lengxuegang’, 4) |
+————————+
| leng?????????????????? |?
+————————+
1 row in set (0.01 sec)

5、length(string); //返回string的長度

mysql> select length(‘lengxuegang’);
+———————–+
| length(‘lengxuegang’) |
+———————–+
|??????????????????? 11 |?
+———————–+
1 row in set (0.25 sec)

6、locate(substring, string, [start_position]); //從start_position出開始查找,返回substring在string中首次出現(xiàn)的位置。其功能與instr類似,不過注意string與substring的位置是不一樣的。

mysql> select locate(‘leng’, ‘lengxueganglengxuegang’, 4);
+———————————————+
| locate(‘leng’, ‘lengxueganglengxuegang’, 4) |
+———————————————+
|????????????????????????????????????????? 12 |?
+———————————————+
1 row in set (0.00 sec)

7、ltrim(string); //去除左邊的空格

mysql> select ltrim(‘?? leng’);
+——————+
| ltrim(‘?? leng’) |
+——————+
| leng???????????? |?
+——————+
1 row in set (0.00 sec)

8、repeat(string, count); //重復(fù)string count次

mysql> select repeat(‘leng’, 4);
+——————-+
| repeat(‘leng’, 4) |
+——————-+
| lenglenglengleng? |?
+——————-+
1 row in set (0.00 sec)

9、replace(string, search_str, replace_str); //在string中將search_str替換為replace_str

mysql> select replace(‘lengxueganglengxuegang’, ‘leng’, ‘cheng’);
+—————————————————-+
| replace(‘lengxueganglengxuegang’, ‘leng’, ‘cheng’) |
+—————————————————-+
| chengxuegangchengxuegang?????????????????????????? |?
+—————————————————-+
1 row in set (0.05 sec)

10、rtrim(string); //去除右端空格

mysql> select rtrim(‘leng???? ‘);
+——————–+
| rtrim(‘leng???? ‘) |
+——————–+
| leng?????????????? |?
+——————–+
1 row in set (0.00 sec)

11、strcmp(string1, string2); //比較兩個字符串大小,按大小關(guān)系分別返回1、0、-1

mysql> select strcmp(‘leng’, ‘cheng’);
+————————-+
| strcmp(‘leng’, ‘cheng’) |
+————————-+
|?????????????????????? 1 |?
+————————-+
1 row in set (0.04 sec)

mysql> select strcmp(‘cheng’, ‘leng’);
+————————-+
| strcmp(‘cheng’, ‘leng’) |
+————————-+
|????????????????????? -1 |?
+————————-+
1 row in set (0.00 sec)

mysql> select strcmp(‘leng’, ‘leng’);
+————————+
| strcmp(‘leng’, ‘leng’) |
+————————+
|????????????????????? 0 |?
+————————+
1 row in set (0.00 sec)

12、substring(string, start_pos, length); //從string的start_pos開始,取length個字符

mysql> select substring(‘lengxuegang’, 5, 3);
+——————————–+
| substring(‘lengxuegang’, 5, 3) |
+——————————–+
| xue??????????????????????????? |?
+——————————–+
1 row in set (0.00 sec)

13、trim(); //去除字符串兩端空格

mysql> select trim(‘? leng?? ‘);
+——————-+
| trim(‘? leng?? ‘) |
+——————-+
| leng????????????? |?
+——————-+
1 row in set (0.00 sec)

14、ucase(string); //轉(zhuǎn)換為大寫

mysql> select ucase(‘lengxuegang’);
+———————-+
| ucase(‘lengxuegang’) |
+———————-+
| LENGXUEGANG????????? |?
+———————-+
1 row in set (0.00 sec)

15、right(string, length); //取string右邊length個字符

mysql> select right(‘lengxuegang’, 4);
+————————-+
| right(‘lengxuegang’, 4) |
+————————-+
| gang??????????????????? |?
+————————-+
1 row in set (0.00 sec)

16、space(count); //生成count個空格

mysql> select space(5);
+———-+
| space(5) |
+———-+
|????????? |?
+———-+
1 row in set (0.00 sec)

17、lpad(string, length, pad); //在string的左端填充pad,直到其長度達到length

mysql> select lpad(‘leng’, 10, ‘dacb’);
+————————–+
| lpad(‘leng’, 10, ‘dacb’) |
+————————–+
| dacbdaleng?????????????? |?
+————————–+
1 row in set (0.00 sec)

18、rpad(); //在string的右端填充pad,直到其長度達到length

mysql> select rpad(‘leng’, 10, ‘dacb’);
+————————–+
| rpad(‘leng’, 10, ‘dacb’) |
+————————–+
| lengdacbda?????????????? |?
+————————–+
1 row in set (0.00 sec)

19、coalesce(value1, value2, …) 返回第一個非null值,如果全為null,則返回null

mysql> select coalesce(null, 1, 2);
+———————-+
| coalesce(null, 1, 2) |
+———————-+
|??????????????????? 1 |?
+———————-+
1 row in set (0.03 sec)

二、數(shù)學(xué)類

1、abs(num); //返回絕對值

mysql> select abs(-3.5);
+———–+
| abs(-3.5) |
+———–+
|?????? 3.5 |?
+———–+
1 row in set (0.03 sec)

2、bin(decimal_num); //十進制轉(zhuǎn)二進制

mysql> select bin(12);
+———+
| bin(12) |
+———+
| 1100??? |?
+———+
1 row in set (0.05 sec)

3、ceiling(num); //向上取整

mysql> select ceiling(3.4);
+————–+
| ceiling(3.4) |
+————–+
|??????????? 4 |?
+————–+
1 row in set (0.00 sec)

mysql> select ceiling(-3.4);
+—————+
| ceiling(-3.4) |
+—————+
|??????????? -3 |?
+—————+
1 row in set (0.00 sec)

4、conv(num, from_base, to_base); //進制轉(zhuǎn)換

mysql> select conv(10, 10, 2);
+—————–+
| conv(10, 10, 2) |
+—————–+
| 1010??????????? |?
+—————–+
1 row in set (0.00 sec)

5、floor(num); //向下取整

mysql> select floor(3.6);

+————+
| floor(3.6) |
+————+
|????????? 3 |?
+————+
1 row in set (0.00 sec)

mysql> select floor(-3.6);
+————-+
| floor(-3.6) |
+————-+
|????????? -4 |?
+————-+

1 row in set (0.00 sec)

6、least(num1, num2, num3, ……); //取最小值

mysql> select least(10, 4, -4, 0);
+———————+
| least(10, 4, -4, 0) |
+———————+
|????????????????? -4 |?
+———————+
1 row in set (0.10 sec)

7、mod(); //取余

mysql> select mod(10, 3);
+————+
| mod(10, 3) |
+————+
|????????? 1 |?
+————+
1 row in set (0.00 sec)

8、power(num, power); //冪運算

mysql> select power(3, 3);
+————-+
| power(3, 3) |
+————-+
|????????? 27 |?
+————-+
1 row in set (0.08 sec)

9、rand([seed]); //隨機數(shù)

mysql> select rand();
+——————+
| rand()?????????? |
+——————+
| 0.10342728263086 |?
+——————+
1 row in set (0.00 sec)

mysql> select rand();
+——————+
| rand()?????????? |
+——————+
| 0.98467650821868 |?
+——————+
1 row in set (0.00 sec)

10、round(number, [decimals]); //四舍五入,decimals為小數(shù)位數(shù)

mysql> select round(1.2345);
+—————+
| round(1.2345) |
+—————+
|???????????? 1 |?
+—————+
1 row in set (0.00 sec)

mysql> select round(1.2345, 3);
+——————+
| round(1.2345, 3) |
+——————+
|??????????? 1.235 |?
+——————+
1 row in set (0.00 sec)

11、sign(number); //返回符號,正負或0

mysql> select sign(0);
+———+
| sign(0) |
+———+
|?????? 0 |?
+———+
1 row in set (0.00 sec)

mysql> select sign(2);
+———+
| sign(2) |
+———+
|?????? 1 |?
+———+
1 row in set (0.00 sec)

mysql> select sign(-2);
+———-+
| sign(-2) |
+———-+
|?????? -1 |?
+———-+
1 row in set (0.00 sec)

12、sqrt(num); //開平方

mysql> select sqrt(3);
+—————–+
| sqrt(3)???????? |
+—————–+
| 1.7320508075689 |?
+—————–+
1 row in set (0.00 sec)

13、greatest(value1, value2, …); //取最大值

mysql> select greatest(2, 3, 10);
+——————–+
| greatest(2, 3, 10) |
+——————–+
|???????????????? 10 |?
+——————–+
1 row in set (0.00 sec)

三、日期時間類

1、current_date(); //返回當前日期

mysql> select current_date();
+—————-+
| current_date() |
+—————-+
| 2012-07-01???? |?
+—————-+
1 row in set (0.04 sec)

2、current_time(); //返回當前時間

mysql> select current_time();
+—————-+
| current_time() |
+—————-+
| 02:05:41?????? |?
+—————-+
1 row in set (0.00 sec)

3、current_timestamp(); //返回當前時間戳

mysql> select current_timestamp();
+———————+
| current_timestamp() |
+———————+
| 2012-07-01 02:06:12 |?
+———————+
1 row in set (0.04 sec)

4、now(); //返回當前時間

mysql> select now();
+———————+
| now()?????????????? |
+———————+
| 2012-07-01 02:06:57 |?
+———————+
1 row in set (0.00 sec)

相關(guān)推薦:

推薦MySQL常用函數(shù)+福利

推薦MySQL常用函數(shù)+福利

推薦MySQL常用函數(shù)+福利

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊14 分享