MySQL数据库

Select进阶查询·常用函数

2023-01-22  本文已影响0人  技术老男孩

一、MySql中函数定义:

二、常用函数:

分类 命令/符号/... 说明
字符函数 LENGTH(str) 返字符串长度,以字节为单位
CHAR_LENGTH(str) 返回字符串长度,以字符为单位
LOWER(str)和LCASE(str) 将str中的字母全部转换成小写
SUBSTR(s, start,end) 从s的start位置开始取出到end长度的子串
INSTR(str,str1) 返回str1参数,在str参数内的位置
TRIM(s) 返回字符串s删除了两边空格之后的字符串
数学函数 ABS(x) 返回x的绝对值
PI() 返回圆周率π,默认显示6位小数
ABS(x) 返回x被y除后的余数
MOD(x,y) 返为单位
CEIL(x)、CEILING(x) 返回不小于x的最小整数 (x 是小数)
FLOOR(x) 返回不大于x的最大整数 (x 是小数)
ROUND(x) 返回最接近于x的整数,即对x进行四舍五入 (x 是小数)
ROUND(x,y) 返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位 (x 是小数)
时间函数 curtime() 获取时间:h:m:s
curdate() 获取日期:y-m-d
now() 获取日期时间:y-m-d h:m:s
year(date) 获取年份
month(date) 获取月份
day(date) 获取一个月的第几天
week(date) 获取一年中的第几周
date(date) 获取日期:y-m-d
weekday(date) 获取一周中的周几
time(date) 获取时间:h:m:s
hour(date) 获取小时
minute(date) 获取分钟
second(date) 获取秒钟
quarter(date) 获取一年中的第几个季度
monthname(date) 获取月份名称(英文)
dayname(date) 获取星期几(英文)
dayofyear(date) 获取一年中的第几天
dayofmonth(date) 获取一个月的第几天
聚集函数 avg(表头名) 计算平均值
min(表头名) 获取最小值
max(表头名) 获取最大值
count(表头名) 统计表头值个数

三、案例:

mysql> select name,length(name) from tarena.employees where employee_id = 8 ;
+--------+-------------------+
| name   | char_length(name) |
+--------+-------------------+
| 汪云   |                 6   |
+--------+-------------------+
1 row in set (0.00 sec)
# 输出偶数行 行号和用户名
mysql> select id , name  from tarena.user where  mod(id,2) = 0 ;
+----+-----------------+
| id | name            |
+----+-----------------+
|  2 | bin             |
|  4 | adm             |
|  6 | sync            |
|  8 | halt            |
+----+-----------------+
4 rows in set (0.00 sec)
# 输出当前时间
mysql> select now();   
+---------------------+
| now()               |
+---------------------+
| 2021-10-12 09:27:39 |
+---------------------+
1 row in set (0.00 sec)

# 获取当前年份
mysql> select year(now());
+-------------+
| year(now()) |
+-------------+
|        2021 |
+-------------+
1 row in set (0.00 sec)
# 输出uid列的最小值和最大值
mysql> select min(uid),max(uid) from  tarena.user;
+----------+----------+
| min(uid) | max(uid) |
+----------+----------+
|        0  |    65534 |
+----------+----------+
1 row in set (0.00 sec)

# 统计使用解释器/sbin/nologin 用户的个数
mysql> select count(name) from  tarena.user where shell="/sbin/nologin";
+-------------+
| count(name) |
+-------------+
|          19 |
+-------------+
1 row in set (0.01 sec)
上一篇下一篇

猜你喜欢

热点阅读