MySQL-07.单行函数

打印 上一主题 下一主题

主题 916|帖子 916|积分 2748

C-07.单行函数

1.函数的理解

1.1 什么是函数

函数在计算机语言中的使用贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样即提高了代码效率,又提高了可维护性。在SQL中我们也可以使用函数对检索出的数据进行函数操作。使用这函数,可以极大地提高用户对数据库的管理效率。

从函数的定义角度出发,我们可以将函数分成内置函数和自定义函数。在SQL语言中,同样也包括了内置函数的自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,本章和下一章讲解的是SQL的内置函数。
1.2 不同DBMS的函数的差异

我们在使用SQL语言时,是和各种不同的DBMS打交道。DBMS之间的差异性很大,远大于同一个语言不同版本之间的差异。实际上,只是很少的函数是被DBMS同时支持的。比如,大多数DBMS使用(||)或(+)来做拼接符,而在MySQL中的字符串拼接函数为concat()。大部分DBMS会有自己特定的函数,这就意味着采用SQL函数的代码可移植性是很差的,因此在使用函数的时候需要特别注意。
1.3 MySQL的内置函数分类

MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好的提供数据的分析和统计能力,在一定程度上提高了开发人员进行数据分析与统计的效率。
MySQL提供的内置函数从实现的功能角度可以分为数值函数,字符串函数,日期与时间函数,流程控制函数,加密与解密函数,获取MySQL信息函数,聚合函数等。也可以分为单行函数,聚合函数(或分组函数)。
两种SQL函数


单行函数


  • 操作数据对象
  • 接收参数返回一个结果
  • 只对一行进行变换
  • 每行返回一个结果
  • 可以嵌套
  • 参数可以一列或一个值
2.数值函数

2.1 基本函数


举例:
  1. SELECT ABS(-10.1),SIGN(-23),SIGN(20),PI(),CEIL(-41.2),CEILING(20.8),FLOOR(20.8),FLOOR(-41.2),MOD(12,5)
  2. FROM dual;
复制代码
  1. SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-2),RAND(-2) FROM dual;
复制代码
  1. mysql> SELECT ROUND(10.5),ROUND(10.224,2),ROUND(13.325,-1),TRUNCATE(10.66,1),TRUNCATE(12.66,-1) FROM dual;
  2. +-------------+-----------------+------------------+-------------------+--------------------+
  3. | ROUND(10.5) | ROUND(10.224,2) | ROUND(13.325,-1) | TRUNCATE(10.66,1) | TRUNCATE(12.66,-1) |
  4. +-------------+-----------------+------------------+-------------------+--------------------+
  5. |          11 |           10.22 |               10 |              10.6 |                 10 |
  6. +-------------+-----------------+------------------+-------------------+--------------------+
  7. 1 row in set (0.00 sec)
复制代码
2.2 角度与弧度互换函数

  1. mysql> SELECT RADIANS(30),RADIANS(60),RADIANS(90),DEGREES(2*PI()),DEGREES(RADIANS(90)) FROM dual;
  2. +--------------------+--------------------+--------------------+-----------------+----------------------+
  3. | RADIANS(30)        | RADIANS(60)        | RADIANS(90)        | DEGREES(2*PI()) | DEGREES(RADIANS(90)) |
  4. +--------------------+--------------------+--------------------+-----------------+----------------------+
  5. | 0.5235987755982988 | 1.0471975511965976 | 1.5707963267948966 |             360 |                   90 |
  6. +--------------------+--------------------+--------------------+-----------------+----------------------+
  7. 1 row in set (0.00 sec)
复制代码
2.3 三角函数


举例:
ATAN2(m,n)函数返回两个参数的反正切值。与ATAN(x)函数相比,ATAN2(m,n)需要两个参数。例如有两个点point(x1,y1)和point(x2,y2),使用ATAN(x)函数计算反正切值为ATAN((y2-y1)/(x2-x1)),使用ATAN2(m,n)计算反正切值为ATAN2(x2-x1,y2-y1)。
注意分母不能为0的情况。
  1. mysql> SELECT  SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1)),DEGREES(ATAN2(1,1))
  2.     -> FROM dual;
  3. +---------------------+------------------+--------------------+------------------+---------------------+
  4. | SIN(RADIANS(30))    | DEGREES(ASIN(1)) | TAN(RADIANS(45))   | DEGREES(ATAN(1)) | DEGREES(ATAN2(1,1)) |
  5. +---------------------+------------------+--------------------+------------------+---------------------+
  6. | 0.49999999999999994 |               90 | 0.9999999999999999 |               45 |                  45 |
  7. +---------------------+------------------+--------------------+------------------+---------------------+
  8. 1 row in set (0.00 sec)
复制代码
2.4 指数与对数

  1. mysql> SELECT POW(2,3),POWER(2,3),EXP(3),LN(EXP(2)),LOG10(100),LOG2(64) FROM dual;
  2. +----------+------------+--------------------+------------+------------+----------+
  3. | POW(2,3) | POWER(2,3) | EXP(3)             | LN(EXP(2)) | LOG10(100) | LOG2(64) |
  4. +----------+------------+--------------------+------------+------------+----------+
  5. |        8 |          8 | 20.085536923187668 |          2 |          2 |        6 |
  6. +----------+------------+--------------------+------------+------------+----------+
  7. 1 row in set (0.00 sec)
复制代码
2.5 进制间的转换

  1. mysql> SELECT BIN(12),HEX(12),OCT(12),CONV(10,2,8) FROM dual;
  2. +---------+---------+---------+--------------+
  3. | BIN(12) | HEX(12) | OCT(12) | CONV(10,2,8) |
  4. +---------+---------+---------+--------------+
  5. | 1100    | C       | 14      | 2            |
  6. +---------+---------+---------+--------------+
  7. 1 row in set (0.00 sec)
复制代码
3.字符串函数




举例
  1. mysql> SELECT FIELD('mm','hello','mm','asmr'),FIND_IN_SET('mm','hello,mm,asmr')
  2.     -> FROM dual;
  3. +---------------------------------+-----------------------------------+
  4. | FIELD('mm','hello','mm','asmr') | FIND_IN_SET('mm','hello,mm,asmr') |
  5. +---------------------------------+-----------------------------------+
  6. |                               2 |                                 2 |
  7. +---------------------------------+-----------------------------------+
  8. 1 row in set (0.00 sec)
  9. mysql> SELECT REVERSE('asmr'),NULLIF('mysql','mysql'),NULLIF('mysql','mysqld')
  10.     -> FROM dual;
  11. +-----------------+-------------------------+--------------------------+
  12. | REVERSE('asmr') | NULLIF('mysql','mysql') | NULLIF('mysql','mysqld') |
  13. +-----------------+-------------------------+--------------------------+
  14. | rmsa            | NULL                    | mysql                    |
  15. +-----------------+-------------------------+--------------------------+
  16. 1 row in set (0.00 sec)
复制代码
4.日期和时间函数

4.1 获取日期,时间


举例:

4.2 日期与时间戳的转换

  1. mysql> SELECT UNIX_TIMESTAMP(),FROM_UNIXTIME(now()),FROM_UNIXTIME(UNIX_TIMESTAMP()) FROM dual;
  2. +------------------+----------------------+---------------------------------+
  3. | UNIX_TIMESTAMP() | FROM_UNIXTIME(now()) | FROM_UNIXTIME(UNIX_TIMESTAMP()) |
  4. +------------------+----------------------+---------------------------------+
  5. |       1702562470 | NULL                 | 2023-12-14 22:01:10             |
  6. +------------------+----------------------+---------------------------------+
  7. 1 row in set (0.00 sec)
复制代码
4.3 获取月份,天数,星期数等函数

  1. mysql> SELECT YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()),HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE()) FROM dual;
  2. +-----------------+------------------+----------------+-----------------+---------------+-------------------+
  3. | YEAR(CURDATE()) | MONTH(CURDATE()) | DAY(CURDATE()) | HOUR(CURTIME()) | MINUTE(NOW()) | SECOND(SYSDATE()) |
  4. +-----------------+------------------+----------------+-----------------+---------------+-------------------+
  5. |            2023 |               12 |             14 |              22 |             5 |                 8 |
  6. +-----------------+------------------+----------------+-----------------+---------------+-------------------+
  7. 1 row in set (0.00 sec)
  8. mysql> SELECT MONTHNAME(now()),DAYNAME(now()),WEEKDAY(CURDATE()),QUARTER(SYSDATE()),WEEK(now()),DAYOFYEAR(now()),DAYOFMONTH(now()),DAYOFWEEK(now()) FROM dual;
  9. +------------------+----------------+--------------------+--------------------+-------------+------------------+-------------------+------------------+
  10. | MONTHNAME(now()) | DAYNAME(now()) | WEEKDAY(CURDATE()) | QUARTER(SYSDATE()) | WEEK(now()) | DAYOFYEAR(now()) | DAYOFMONTH(now()) | DAYOFWEEK(now()) |
  11. +------------------+----------------+--------------------+--------------------+-------------+------------------+-------------------+------------------+
  12. | December         | Thursday       |                  3 |                  4 |          50 |              348 |                14 |                5 |
  13. +------------------+----------------+--------------------+--------------------+-------------+------------------+-------------------+------------------+
  14. 1 row in set (0.00 sec)
复制代码
4.4 日期的操作函数

  1. mysql> SELECT EXTRACT(MINUTE FROM now()),EXTRACT(WEEK FROM NOW()),EXTRACT(QUARTER FROM NOW()),EXTRACT(MINUTE_SECOND FROM now()) FROM dual;
  2. +----------------------------+--------------------------+-----------------------------+-----------------------------------+
  3. | EXTRACT(MINUTE FROM now()) | EXTRACT(WEEK FROM NOW()) | EXTRACT(QUARTER FROM NOW()) | EXTRACT(MINUTE_SECOND FROM now()) |
  4. +----------------------------+--------------------------+-----------------------------+-----------------------------------+
  5. |                         13 |                       50 |                           4 |                              1311 |
  6. +----------------------------+--------------------------+-----------------------------+-----------------------------------+
  7. 1 row in set (0.00 sec)
复制代码
4.5 时间和秒钟转换的函数

  1. mysql> SELECT TIME_TO_SEC(NOW());
  2. +--------------------+
  3. | TIME_TO_SEC(NOW()) |
  4. +--------------------+
  5. |              85290 |
  6. +--------------------+
  7. 1 row in set (0.00 sec)
  8. mysql> SELECT SEC_TO_TIME(85290);
  9. +--------------------+
  10. | SEC_TO_TIME(85290) |
  11. +--------------------+
  12. | 23:41:30           |
  13. +--------------------+
  14. 1 row in set (0.00 sec)
复制代码
4.6 计算日期和时间的函数

第一组

  1. # now() 也可以是代表日期的常量,如'2023-12-14 23:46:20'
  2. mysql> SELECT DATE_ADD(NOW(),INTERVAL 1 DAY) AS col1,ADDDATE(NOW(),INTERVAL 1 SECOND) AS col2 FROM dual;
  3. +---------------------+---------------------+
  4. | col1                | col2                |
  5. +---------------------+---------------------+
  6. | 2023-12-15 23:46:38 | 2023-12-14 23:46:39 |
  7. +---------------------+---------------------+
  8. 1 row in set (0.00 sec)
  9. mysql> SELECT DATE_SUB(NOW(),INTERVAL 1 DAY) AS col1,SUBDATE(NOW(),INTERVAL 1 SECOND) AS col2 FROM dual;
  10. +---------------------+---------------------+
  11. | col1                | col2                |
  12. +---------------------+---------------------+
  13. | 2023-12-13 23:47:14 | 2023-12-14 23:47:13 |
  14. +---------------------+---------------------+
  15. 1 row in set (0.00 sec)
复制代码
第二组

  1. mysql> SELECT ADDTIME(NOW(),20),SUBTIME(NOW(),30),SUBTIME(NOW(),'1:1:3') FROM dual;
  2. +---------------------+---------------------+------------------------+
  3. | ADDTIME(NOW(),20)   | SUBTIME(NOW(),30)   | SUBTIME(NOW(),'1:1:3') |
  4. +---------------------+---------------------+------------------------+
  5. | 2023-12-14 23:52:38 | 2023-12-14 23:51:48 | 2023-12-14 22:51:15    |
  6. +---------------------+---------------------+------------------------+
  7. 1 row in set (0.00 sec)
  8. mysql> SELECT DATEDIFF(NOW(),'2022-10-01'),TIMEDIFF(NOW(),'2023-10-01 00:00:00'),FROM_DAYS(366) FROM dual;
  9. +------------------------------+---------------------------------------+----------------+
  10. | DATEDIFF(NOW(),'2022-10-01') | TIMEDIFF(NOW(),'2023-10-01 00:00:00') | FROM_DAYS(366) |
  11. +------------------------------+---------------------------------------+----------------+
  12. |                          439 | 838:59:59                             | 0001-01-01     |
  13. +------------------------------+---------------------------------------+----------------+
  14. 1 row in set, 1 warning (0.00 sec)
  15. mysql> SELECT TO_DAYS('0000-12-14'),LAST_DAY(NOW()),MAKEDATE(YEAR(NOW()),122) FROM dual;
  16. +-----------------------+-----------------+---------------------------+
  17. | TO_DAYS('0000-12-14') | LAST_DAY(NOW()) | MAKEDATE(YEAR(NOW()),122) |
  18. +-----------------------+-----------------+---------------------------+
  19. |                   348 | 2023-12-31      | 2023-05-02                |
  20. +-----------------------+-----------------+---------------------------+
  21. 1 row in set (0.00 sec)
  22. mysql> SELECT PERIOD_ADD(202011,10),MAKETIME(10,25,56) FROM dual;
  23. +-----------------------+--------------------+
  24. | PERIOD_ADD(202011,10) | MAKETIME(10,25,56) |
  25. +-----------------------+--------------------+
  26. |                202109 | 10:25:56           |
  27. +-----------------------+--------------------+
  28. 1 row in set (0.00 sec)
复制代码
注意,图中关于PERIOD_AD输入不同的参数可能有问题,不推荐使用
查询7天内新增用户有多少?
  1. SELECT COUNT(*) AS num FROM user WHERE TO_DAYS(NOW()) - TO_DAYS(regist_time) <= 7;
复制代码
注意,没有STR_TO_TIME函数。
5.流程控制函数

流程控制函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中,实现不同的条件选择。MySQL中的流程处理函数主要包括IF(),IFNULL()和CASE()函数。
  1. mysql> SELECT TIME_FORMAT(CURTIME(),'%H:%i:%s'),DATE_FORMAT(CURDATE(),'%Y-%m-%d') FROM dual;
  2. +-----------------------------------+-----------------------------------+
  3. | TIME_FORMAT(CURTIME(),'%H:%i:%s') | DATE_FORMAT(CURDATE(),'%Y-%m-%d') |
  4. +-----------------------------------+-----------------------------------+
  5. | 23:02:36                          | 2023-12-15                        |
  6. +-----------------------------------+-----------------------------------+
  7. 1 row in set (0.00 sec)
  8. mysql> SELECT GET_FORMAT(DATE,'USA'),GET_FORMAT(TIME,'USA') FROM dual;
  9. +------------------------+------------------------+
  10. | GET_FORMAT(DATE,'USA') | GET_FORMAT(TIME,'USA') |
  11. +------------------------+------------------------+
  12. | %m.%d.%Y               | %h:%i:%s %p            |
  13. +------------------------+------------------------+
  14. 1 row in set (0.00 sec)
  15. mysql> SELECT STR_TO_DATE('2021-01-05 00:00:00','%Y-%m-%d') FROM dual;
  16. +-----------------------------------------------+
  17. | STR_TO_DATE('2021-01-05 00:00:00','%Y-%m-%d') |
  18. +-----------------------------------------------+
  19. | 2021-01-05                                    |
  20. +-----------------------------------------------+
  21. 1 row in set, 1 warning (0.00 sec)
  22. mysql> SELECT STR_TO_DATE('2021-01-05 00:00:00','%Y-%m-%d %H:%i:%s') FROM dual;
  23. +--------------------------------------------------------+
  24. | STR_TO_DATE('2021-01-05 00:00:00','%Y-%m-%d %H:%i:%s') |
  25. +--------------------------------------------------------+
  26. | 2021-01-05 00:00:00                                    |
  27. +--------------------------------------------------------+
  28. 1 row in set (0.00 sec
复制代码
6.加密与解密函数

加密与解密函数主要用于对数据库中的数据进行加密和解密处理,以防止数据被他人窃取,这些函数在保证数据库安全时非常有用。
  1. mysql> SELECT IF(1 > 0,'正确','错误'),IFNULL(null,'Hello,World') FROM dual;
  2. +-------------------------+----------------------------+
  3. | IF(1 > 0,'正确','错误') | IFNULL(null,'Hello,World') |
  4. +-------------------------+----------------------------+
  5. | 正确                    | Hello,World                |
  6. +-------------------------+----------------------------+
  7. 1 row in set (0.00 sec)
  8. mysql> SELECT CASE WHEN 1 > 0 THEN '第一个成立' WHEN 2 > 0 THEN '第二个成立' ELSE '前两个都不成立' END
  9.     -> ;
  10. +------------------------------------------------------------------------------------------+
  11. | CASE WHEN 1 > 0 THEN '第一个成立' WHEN 2 > 0 THEN '第二个成立' ELSE '前两个都不成立' END |
  12. +------------------------------------------------------------------------------------------+
  13. | 第一个成立                                                                               |
  14. +------------------------------------------------------------------------------------------+
  15. 1 row in set (0.00 sec)
  16. mysql> SELECT CASE 1
  17.     -> WHEN 1 THEN '值是1'
  18.     -> WHEN 2 THEN '值是2'
  19.     -> ELSE '值是N'
  20.     -> END;
  21. +-----------------------------------------------------------------+
  22. | CASE 1
  23. WHEN 1 THEN '值是1'
  24. WHEN 2 THEN '值是2'
  25. ELSE '值是N'
  26. END |
  27. +-----------------------------------------------------------------+
  28. | 值是1                                                           |
  29. +-----------------------------------------------------------------+
  30. 1 row in set (0.00 sec)
  31. mysql> SELECT last_name,salary,department_id,CASE department_id WHEN 10 THEN 1.1 * salary
  32.     -> WHEN 20 THEN (1.2 * salary) WHEN 30 THEN (1.3 * salary) ELSE salary END '薪水'
  33.     -> FROM employees;
  34. +-------------+----------+---------------+----------+
  35. | last_name   | salary   | department_id | 薪水     |
  36. +-------------+----------+---------------+----------+
  37. | King        | 24000.00 |            90 | 24000.00 |
  38. | Kochhar     | 17000.00 |            90 | 17000.00 |
  39. | De Haan     | 17000.00 |            90 | 17000.00 |
  40. ...
  41. | Mavris      |  6500.00 |            40 |  6500.00 |
  42. | Baer        | 10000.00 |            70 | 10000.00 |
  43. | Higgins     | 12000.00 |           110 | 12000.00 |
  44. | Gietz       |  8300.00 |           110 |  8300.00 |
  45. +-------------+----------+---------------+----------+
  46. 107 rows in set (0.00 sec)
复制代码
注意password函数在MySQL8.0后已经取消支持了。上述时在5.7版本下执行的。
  1. mysql> SELECT PASSWORD('wind');
  2. +-------------------------------------------+
  3. | PASSWORD('wind')                          |
  4. +-------------------------------------------+
  5. | *E04A13B4BCD1DCBE73B56F656D27615E2C2BFE55 |
  6. +-------------------------------------------+
  7. 1 row in set, 1 warning (0.00 sec)
复制代码
8.0环境下的执行会报错。
  1. mysql> SELECT PASSWORD('wind');
  2. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('wind')' at line 1
复制代码
MD5()和SHA(),5.7和8.0都支持。
ENCODE()和DECODE()也都是在8.0中不支持。
7.MySQL信息函数

MySQL内置了一些可以查询MySQL信息的函数,这些函数主要用于帮助数据库开发或运维人员更好地维护数据库。
  1. mysql> SELECT MD5('wind');
  2. +----------------------------------+
  3. | MD5('wind')                      |
  4. +----------------------------------+
  5. | 7e25b972e192b01004b62346ee9975a5 |
  6. +----------------------------------+
  7. 1 row in set (0.00 sec)
  8. mysql> SELECT SHA('WIND');
  9. +------------------------------------------+
  10. | SHA('WIND')                              |
  11. +------------------------------------------+
  12. | c514a747e8f0bc9e5d9beba8fe62416cc7b2a66e |
  13. +------------------------------------------+
  14. 1 row in set (0.00 sec)
复制代码
8.其他函数

MySQL有些函数,无法进行具体的分类,但是使用较为频繁。
  1. mysql> SELECT DATABASE();
  2. +------------+
  3. | DATABASE() |
  4. +------------+
  5. | atguigudb  |
  6. +------------+
  7. 1 row in set (0.00 sec)
  8. mysql> SELECT USER(),CURRENT_USER(),SYSTEM_USER(),SESSION_USER();
  9. +----------------+----------------+----------------+----------------+
  10. | USER()         | CURRENT_USER() | SYSTEM_USER()  | SESSION_USER() |
  11. +----------------+----------------+----------------+----------------+
  12. | root@localhost | root@localhost | root@localhost | root@localhost |
  13. +----------------+----------------+----------------+----------------+
  14. 1 row in set (0.00 sec)
  15. mysql> SELECT CHARSET('abc'),COLLATION('abc');
  16. +----------------+------------------+
  17. | CHARSET('abc') | COLLATION('abc') |
  18. +----------------+------------------+
  19. | gbk            | gbk_chinese_ci   |
  20. +----------------+------------------+
  21. 1 row in set (0.00 sec)
复制代码
练习

使用的表结构

  1. # 如果n的值小于或等于0,只保留整数
  2. mysql> SELECT FORMAT(123.12,2),FORMAT(123.354,2),FORMAT(12.546,-1);
  3. +------------------+-------------------+-------------------+
  4. | FORMAT(123.12,2) | FORMAT(123.354,2) | FORMAT(12.546,-1) |
  5. +------------------+-------------------+-------------------+
  6. | 123.12           | 123.35            | 13                |
  7. +------------------+-------------------+-------------------+
  8. 1 row in set (0.00 sec)
  9. mysql> SELECT CONV(10,10,2),CONV(10,10,16),CONV(NULL,10,2);
  10. +---------------+----------------+-----------------+
  11. | CONV(10,10,2) | CONV(10,10,16) | CONV(NULL,10,2) |
  12. +---------------+----------------+-----------------+
  13. | 1010          | A              | NULL            |
  14. +---------------+----------------+-----------------+
  15. 1 row in set (0.00 sec)
  16. #计算公式192 * 256^3 + 168 * 256^2 + 0 * 256 + 130 = 3232235650
  17. mysql> SELECT INET_ATON('192.168.0.130');
  18. +----------------------------+
  19. | INET_ATON('192.168.0.130') |
  20. +----------------------------+
  21. |                 3232235650 |
  22. +----------------------------+
  23. 1 row in set (0.00 sec)
  24. mysql> SELECT INET_NTOA(3232235650);
  25. +-----------------------+
  26. | INET_NTOA(3232235650) |
  27. +-----------------------+
  28. | 192.168.0.130         |
  29. +-----------------------+
  30. 1 row in set (0.00 sec)
  31. mysql> SELECT BENCHMARK(10000,MD5('WIND'));
  32. +------------------------------+
  33. | BENCHMARK(10000,MD5('WIND')) |
  34. +------------------------------+
  35. |                            0 |
  36. +------------------------------+
  37. 1 row in set (0.00 sec)
  38. mysql> SELECT CHARSET('mysql'),CHARSET(CONVERT('mysql' USING 'utf8'));
  39. +------------------+----------------------------------------+
  40. | CHARSET('mysql') | CHARSET(CONVERT('mysql' USING 'utf8')) |
  41. +------------------+----------------------------------------+
  42. | gbk              | utf8mb3                                |
  43. +------------------+----------------------------------------+
  44. 1 row in set, 1 warning (0.00 sec)
复制代码
只是为了记录自己的学习历程,且本人水平有限,不对之处,请指正。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

滴水恩情

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表