mysql 常用的三类函数

雨涛酱_5168

雨涛酱_5168

2018-05-16

1551人浏览

原创

本篇文章主要介绍mysql 常用的三类函数,感兴趣的朋友参考下,希望对大家有所帮助。

一、字符串类。

注: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中出现的位置,不存在返回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); //转换为小写

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中首次出现的位置。其功能与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); //重复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); //比较两个字符串大小,按大小关系分别返回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); //转换为大写

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)

二、数学类

MySQL8 CRM Schema Design Expert
MySQL8 CRM Schema Design Expert

面向 CRM 系统的 MySQL 8 数据库模式设计。当用户需要为客户关系管理(CRM)系统设计、评审、优化或生成数据库模式时,应使用此项技能。

下载

1、abs(num); //返回绝对值

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

2、bin(decimal_num); //十进制转二进制

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); //进制转换

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]); //随机数

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为小数位数

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)

相关推荐:

推荐MySQL常用函数+福利

PHP中的MYSQL常用函数php下操作数据库必备

PHP中的MYSQL常用函数(php下操作数据库必备)_PHP教程

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

mysql

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

100

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

80

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

240

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

140

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 193人学习