MySQL之sql函数分类

华子目录

  • sql函数
    • 聚合函数
    • 数值型函数
    • 字符串函数
    • 日期和时间函数
    • 流程控制函数
      • case用法

sql函数

聚合函数

聚合函数是对一组值进行运算,并返回单个值。也叫分组函数,具体用法请参考该博文
https://blog.csdn.net/huaz_md/article/details/136081708?spm=1001.2014.3001.5501

数值型函数

MySQL提供了许多数值型函数,可以对数值进行各种操作和计算。以下是一些常用的数值型函数及其用法:1. `abs(x)`:返回x的绝对值。例如,`ABS(-10)` 将返回 `10`2. `ceil(x)``ceiling(x)`:返回大于或等于x的最小整数值。例如,`CEIL(10.1)` 将返回 `11`(向上取整)3. `floor(x)`:返回小于或等于x的最大整数值。例如,`FLOOR(10.9)` 将返回 `10`。(向下取整)4. `round(x, d)`:将x四舍五入到d位小数。例如,`ROUND(10.12345, 2)` 将返回 `10.12`5. `truncate(x, d)`:将x截断为d位小数。例如,`TRUNCATE(10.12345, 2)` 将返回 `10.12`6. `rand()`:返回01之间的随机数。例如,`SELECT RAND()` 将返回一个随机数。7. `pow(x, y)``power(x, y)`:返回x的y次幂。例如,`POW(2, 3)` 将返回 `8`8. `sqrt(x)`:返回x的平方根。例如,`SQRT(16)` 将返回 `4`9. `mod(x, y)`:返回x除以y的余数。例如,`MOD(10, 3)` 将返回 `1`10. `sign(x)`:返回x的符号,如果x为负数则返回-1,如果x为正数则返回1,如果x为0则返回0。例如,`SIGN(-10)` 将返回 `-1`。这些函数可以在SELECT语句中使用,用于处理数值数据并返回计算结果。
mysql> select abs(-9);
+---------+
| abs(-9) |
+---------+
|       9 |
+---------+mysql> select * from employee;
+------+-----------+-----------------+--------+-------+--------+
| id   | name      | job             | salary | bonus | job_id |
+------+-----------+-----------------+--------+-------+--------+
|  101 | 麦当      | 后端研发        |  25000 |  5000 |   1003 |
|  102 | 咕咚      | 网络运维        |  15000 |  3000 |   1003 |
|  103 | 迪亚      | 测试工程师      |  12000 |  2000 |   1003 |
|  104 | 米龙      | 后端开发        |  20000 |  3500 |   1003 |
|  105 | 极光      | 前端开发        |  15000 |  2500 |   1003 |
|  106 | 村长      | 人力资源        |  10000 |   500 |   1001 |
|  107 | 五条人    | 销售工程师      |  14000 |  7000 |   1002 |
|  108 | 皇帝      | 董事长          |  30000 | 10000 |   1004 |
+------+-----------+-----------------+--------+-------+--------+mysql> select abs(salary) from employee where id=101;
+-------------+
| abs(salary) |
+-------------+
|       25000 |
+-------------+
mysql> select ceil(10.9);
+------------+
| ceil(10.9) |
+------------+
|         11 |
+------------+mysql> select floor(10.9);
+-------------+
| floor(10.9) |
+-------------+
|          10 |
+-------------+
mysql> select round(10.678,2);
+-----------------+
| round(10.678,2) |
+-----------------+
|           10.68 |
+-----------------+mysql> select truncate(10.678,2);
+--------------------+
| truncate(10.678,2) |
+--------------------+
|              10.67 |
+--------------------+
在MySQL中,`RAND()`函数用于生成一个介于01之间的随机数。`RAND()`函数不接受任何参数。以下是`RAND()`函数的用法示例:1. 生成一个随机数:SELECT RAND();这将返回一个介于01之间的随机数,例如 `0.724653`.2. 生成一个随机整数:SELECT FLOOR(RAND() * 100) AS random_int;这将返回一个介于099之间的随机整数,例如 `42`.3. 生成一个在指定范围内的随机数:SELECT RAND() * (max_value - min_value) + min_value AS random_number;其中 `max_value``min_value` 是您希望的范围的上限和下限。例如,要生成一个介于1020之间的随机数:SELECT RAND() * (20 - 10) + 10 AS random_number;注意:由于`RAND()`函数在每次查询时都会生成一个新的随机数,因此多次调用`RAND()`函数将返回不同的值。
mysql> select rand();#生成0-1之间的小数
+--------------------+
| rand()             |
+--------------------+
| 0.7741850370300795 |
+--------------------+mysql> select floor(rand()*10);#生成0-10之间的整数
+------------------+
| floor(rand()*10) |
+------------------+
|                6 |
+------------------+mysql> select floor(rand()*(20-10)+10);#生成10-20之间的整数
+--------------------------+
| floor(rand()*(20-10)+10) |
+--------------------------+
|                       15 |
+--------------------------+
mysql> select pow(2,3);
+----------+
| pow(2,3) |
+----------+
|        8 |
+----------+mysql> select power(2,3);
+------------+
| power(2,3) |
+------------+
|          8 |
+------------+
mysql> select sqrt(16);
+----------+
| sqrt(16) |
+----------+
|        4 |
+----------+mysql> select mod(10,3);
+-----------+
| mod(10,3) |
+-----------+
|         1 |
+-----------+mysql> select sign(-10);
+-----------+
| sign(-10) |
+-----------+
|        -1 |
+-----------+mysql> select sign(0);
+---------+
| sign(0) |
+---------+
|       0 |
+---------+mysql> select sign(20);
+----------+
| sign(20) |
+----------+
|        1 |
+----------+

字符串函数

MySQL提供了许多字符串函数,用于对字符串进行各种操作和处理。以下是一些常用的字符串函数及其用法:1. `concat(str1, str2, ...)`:将多个字符串连接在一起。例如,`CONCAT('Hello', ' ', 'World')` 将返回 `'Hello World'`2. `substr(str, start, length)``substring(str, start, length)`:返回从字符串中指定位置开始的指定长度的子字符串。例如,`SUBSTRING('Hello World', 1, 5)` 将返回 `'Hello'`3. `upper(str)`:将字符串转换为大写。例如,`UPPER('hello')` 将返回 `'HELLO'`4. `lower(str)`:将字符串转换为小写。例如,`LOWER('WORLD')` 将返回 `'world'`5. `length(str)``char_length(str)`:返回字符串的长度。例如,`LENGTH('Hello World')` 将返回 `11`6. `trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)`:删除字符串两端或指定字符的空格。例如,`TRIM('   hello   ')` 将返回 `'hello'`7. `replace(str, from_str, to_str)`:将字符串中的指定子字符串替换为另一个字符串。例如,`REPLACE('Hello World', 'World', 'John')` 将返回 `'Hello John'`8. `reverse(str)`:反转字符串。例如,`REVERSE('Hello')` 将返回 `'olleH'`9. `left(str, length)`:返回字符串左边的指定长度的子字符串。例如,`LEFT('Hello World', 5)` 将返回 `'Hello'`10. `right(str, length)`:返回字符串右边的指定长度的子字符串。例如,`RIGHT('Hello World', 5)` 将返回 `'World'`11. `strcmp(str1, str2)` 函数用于比较两个字符串 `str1``str2`- 如果 `str1` 小于 `str2`,则返回负值 (-1)- 如果 `str1` 等于 `str2`,则返回 0- 如果 `str1` 大于 `str2`,则返回正值 (1)SELECT STRCMP('apple', 'banana'); -- 返回负值 (-1),因为'apple'在字母表中排在'banana'之前SELECT STRCMP('apple', 'apple'); -- 返回 0,因为两个字符串相等SELECT STRCMP('banana', 'apple'); -- 返回正值 (1),因为'banana'在字母表中排在'apple'之后12. `locate(substr, str)` 函数用于在字符串 `str` 中查找子字符串 `substr` 的位置。如果找到,则返回 `substr``str` 中第一次出现的位置(从1开始),如果未找到,则返回0`LOCATE` 函数还可以指定起始搜索位置。以下是 `LOCATE` 函数的用法示例:SELECT LOCATE('or', 'Hello World'); -- 返回 8,因为'or'在'Hello World'中的位置是从第8个字符开始SELECT LOCATE('or', 'Hello World', 5); -- 返回 8,从第5个字符开始搜索,所以找到的位置仍然是第8个字符SELECT LOCATE('banana', 'apple'); -- 返回 0,因为'banana'未在'apple'中找到在上面的示例中,第一个参数是要查找的子字符串,第二个参数是要搜索的字符串,第三个参数是可选的起始搜索位置。13. `instr(str, substr)` 函数用于返回子字符串 `substr` 在字符串 `str` 中第一次出现的位置。如果 `substr` 不在 `str` 中,则返回0`INSTR` 函数的用法示例如下:SELECT INSTR('foobarbar', 'bar'); -- 返回 4,因为'bar'在'foobarbar'中的第一个出现位置是从第4个字符开始SELECT INSTR('foobar', 'baz'); -- 返回 0,因为'baz'不在'foobar'中
`instr` 函数还可以指定起始搜索位置:SELECT INSTR('foobarbar', 'bar', 5); -- 返回 7,从第5个字符开始搜索,'bar'在'foobarbar'中的下一个出现位置是从第7个字符开始在这个例子中,`INSTR('foobarbar', 'bar', 5)` 返回的结果是7,因为它从第5个字符开始搜索,找到了第二个'bar'出现的位置。14. `right(str, len)` 函数用于返回字符串 `str` 的右侧 `len` 个字符。如果 `len` 大于 `str` 的长度,则返回整个字符串 `str`。以下是 `RIGHT` 函数的用法示例:SELECT RIGHT('Hello World', 5); -- 返回 'World',因为返回字符串的右侧5个字符SELECT RIGHT('Hello', 10); -- 返回 'Hello',因为返回字符串的右侧10个字符,但字符串长度不足10个字符
`right` 函数通常用于截取字符串的右侧一部分,返回指定长度的子字符串。15. `insert(str, pos, len, newstr);`,这种用法用于在字符串的指定位置插入另一个字符串。例如:SELECT INSERT('Hello World', 6, 0, 'Beautiful '); -- 返回 'Hello Beautiful World',在第6个位置插入'Beautiful '在这个例子中,`INSERT('Hello World', 6, 0, 'Beautiful ')` 将在字符串 `'Hello World'` 的第6个位置插入 `'Beautiful '`16. `lpad('目标字符串',10,'填充字符')`:将填充字符填充到目标字符的左边,补足10个mysql> select lpad('哈哈哈',10,'*');+--------------------------+| lpad('哈哈哈',10,'*')    |+--------------------------+| *******哈哈哈            |+--------------------------+17. `rpad('目标字符串',10,'填充字符')`mysql> select rpad('哈哈哈',10,'*');+--------------------------+| rpad('哈哈哈',10,'*')    |+--------------------------+| 哈哈哈*******            |+--------------------------+
这些函数可以在SELECT语句中使用,用于处理和操作字符串数据,并返回结果。

日期和时间函数

MySQL提供了许多用于处理日期和时间的函数。以下是一些常用的日期和时间函数及其用法:1. `now()`:返回当前日期和时间。`sysdate()`select now();select sysdate();2. `curdate()`:返回当前日期。`current_date()``current_date`select curdate();select current_date();select current_date;4. `curtime()`:返回当前时间。`current_time()``current_time`select current_time();select curtime();select current_time;5. `datediff(end_date, start_date)`:计算两个日期之间的天数差。
mysql> SELECT DATEDIFF('2024-03-01', '2024-02-01');
+--------------------------------------+
| DATEDIFF('2024-03-01', '2024-02-01') |
+--------------------------------------+
|                                   29 |
+--------------------------------------+6. `week(date[, mode])`:返回日期所在年的第几周。
mysql> SELECT WEEK('2024-02-26');
+--------------------+
| WEEK('2024-02-26') |
+--------------------+
|                  8 |
+--------------------+7. `date(字段)` 函数用于提取日期或日期/时间表达式的日期部分。它返回一个日期值,时间部分被截断为零。`DATE()` 例如,假设有一个包含日期和时间的字段 `datetime_field`,您可以使用 `DATE()` 函数来提取其日期部分:SELECT date(datetime_field) FROM your_table;这将返回 `datetime_field` 的日期部分,时间部分将被截断为零。8. `time(字段)`函数用于提取日期或日期/时间表达式的时间部分。它返回一个时间值。9. `month(字段)`获取月份
mysql> select month('2023-01-01');
+---------------------+
| month('2023-01-01') |
+---------------------+
|                   1 |
+---------------------+10. `monthname()`获取指定曰期对应的月份的英文名称
mysql> select monthname('2023-01-01');
+-------------------------+
| monthname('2023-01-01') |
+-------------------------+
| January                 |
+-------------------------+11. `dayname()`获取指定曰期对应的星期几的英文名称
mysql> select dayname('2023-01-01');
+-----------------------+
| dayname('2023-01-01') |
+-----------------------+
| Sunday                |
+-----------------------+
12. `year()`获取年份
mysql> select year('2023-01-01');
+--------------------+
| year('2023-01-01') |
+--------------------+
|               2023 |
+--------------------+
13 `month(字段)`获取月份
mysql> select month('2023-01-01');
+---------------------+
| month('2023-01-01') |
+---------------------+
|                   1 |
+---------------------+
13. `day()`获取日分
mysql> select day('2023-01-01');
+-------------------+
| day('2023-01-01') |
+-------------------+
|                 1 |
+-------------------+
14. `dayofyear()`获取指定曰期是一年中的第几天,返回值范围是1~366
mysql> select dayofyear('2023-12-12');
+-------------------------+
| dayofyear('2023-12-12') |
+-------------------------+
|                     346 |
+-------------------------+
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2024-02-26 21:45:46 |
+---------------------+mysql> select year(now());
+-------------+
| year(now()) |
+-------------+
|        2024 |
+-------------+mysql> select month(now());
+--------------+
| month(now()) |
+--------------+
|            2 |
+--------------+mysql> select day(now());
+------------+
| day(now()) |
+------------+
|         26 |
+------------+

流程控制函数

在 MySQL 中,有一些流程控制函数可以帮助您在查询中实现条件逻辑和控制流程。以下是一些常用的流程控制函数及其用法:

  1. IF(condition, true_value, false_value):根据条件返回不同的值。
mysql> SELECT IF(1 < 2, 'true', 'false');
+----------------------------+
| IF(1 < 2, 'true', 'false') |
+----------------------------+
| true                       |
+----------------------------+mysql> SELECT IF(2 < 1, 'true', 'false');
+--------------------------+
| IF(2<1, 'true', 'false') |
+--------------------------+
| false                    |
+--------------------------+
  1. CASE:类似于 switch 语句,根据不同的条件返回不同的值。

    SELECT CASE WHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'WHEN score >= 70 THEN 'C'ELSE 'D'END AS grade
    FROM students;
    
  2. coalesce(val1, val2, ...):返回参数列表中第一个非空值。

mysql> SELECT COALESCE(NULL, 'default');
+---------------------------+
| COALESCE(NULL, 'default') |
+---------------------------+
| default                   |
+---------------------------+mysql> SELECT COALESCE(NULL,'dsfa' ,'default');
+----------------------------------+
| COALESCE(NULL,'dsfa' ,'default') |
+----------------------------------+
| dsfa                             |
+----------------------------------+
  1. NULLIF(val1, val2):如果两个值相等,则返回 NULL;否则返回第一个值。
mysql> SELECT NULLIF(5, 5);
+--------------+
| NULLIF(5, 5) |
+--------------+
|         NULL |
+--------------+
  1. IFNULL(val1, val2):如果第一个值不为 NULL,则返回第一个值;否则返回第二个值。
mysql> SELECT IFNULL(NULL, 'default');
+-------------------------+
| IFNULL(NULL, 'default') |
+-------------------------+
| default                 |
+-------------------------+

这些函数可以帮助您在 MySQL 查询中实现复杂的逻辑和条件控制。

case用法

CASE 表达式是 MySQL 中用于实现条件逻辑的强大工具,类似于其他编程语言中的 switch 语句。它允许您根据不同的条件返回不同的值。CASE 表达式有两种形式:简单形式和搜索形式。

  1. 简单形式:

    case expression或字段when value1 then result1when value2 then result2...else default_result
    end
    

    在简单形式中,expression 或字段的值与 value1value2 等进行比较,如果匹配则返回相应的 result,如果没有匹配项则返回 default_result

    例如,以下查询根据成绩返回等级:

    SELECTCASEWHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'WHEN score >= 70 THEN 'C'ELSE 'D'END AS grade
    FROMstudent_scores;
    
  2. 搜索形式:

    CASEWHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE default_result
    END
    

    在搜索形式中,每个 WHEN 子句都有一个条件,如果条件为真,则返回相应的 result,否则继续检查下一个 WHEN 子句。

    例如,以下查询根据人口数量返回城市规模:

    SELECTcity_name,CASEWHEN population > 1000000 THEN '大城市'WHEN population > 500000 THEN '中等城市'ELSE '小城市'END AS city_size
    FROMcities;
    

CASE 表达式可以嵌套在其他函数或表达式中,为复杂的条件逻辑提供了灵活的解决方案。

mysql> select * from employee;
+------+-----------+-----------------+--------+-------+--------+
| id   | name      | job             | salary | bonus | job_id |
+------+-----------+-----------------+--------+-------+--------+
|  101 | 麦当      | 后端研发        |  25000 |  5000 |   1003 |
|  102 | 咕咚      | 网络运维        |  15000 |  3000 |   1003 |
|  103 | 迪亚      | 测试工程师      |  12000 |  2000 |   1003 |
|  104 | 米龙      | 后端开发        |  20000 |  3500 |   1003 |
|  105 | 极光      | 前端开发        |  15000 |  2500 |   1003 |
|  106 | 村长      | 人力资源        |  10000 |   500 |   1001 |
|  107 | 五条人    | 销售工程师      |  14000 |  7000 |   1002 |
|  108 | 皇帝      | 董事长          |  30000 | 10000 |   1004 |
+------+-----------+-----------------+--------+-------+--------+mysql> select salary 旧工资,-> case id-> when 101 then salary*2-> when 103 then salary-100-> else salary-> end 新工资-> from employee;
+-----------+-----------+
| 旧工资    | 新工资    |
+-----------+-----------+
|     25000 |     50000 |
|     15000 |     15000 |
|     12000 |     11900 |
|     20000 |     20000 |
|     15000 |     15000 |
|     10000 |     10000 |
|     14000 |     14000 |
|     30000 |     30000 |
+-----------+-----------+
#注:从case到end构成一个新字段#当遇到id值为101的时候,将其对应的salary值*2,当遇到id值为103的时候,将其对应的salary-100,其余情况的id值salary值不变
mysql> select salary 旧工资,-> case id-> when 101 then salary*2-> when 103 then salary-100-> else salary-> end 新工资,-> name-> from employee;
+-----------+-----------+-----------+
| 旧工资    | 新工资    | name      |
+-----------+-----------+-----------+
|     25000 |     50000 | 麦当      |
|     15000 |     15000 | 咕咚      |
|     12000 |     11900 | 迪亚      |
|     20000 |     20000 | 米龙      |
|     15000 |     15000 | 极光      |
|     10000 |     10000 | 村长      |
|     14000 |     14000 | 五条人    |
|     30000 |     30000 | 皇帝      |
+-----------+-----------+-----------+
mysql> select * from employee;
+------+-----------+-----------------+--------+-------+--------+
| id   | name      | job             | salary | bonus | job_id |
+------+-----------+-----------------+--------+-------+--------+
|  101 | 麦当      | 后端研发        |  25000 |  5000 |   1003 |
|  102 | 咕咚      | 网络运维        |  15000 |  3000 |   1003 |
|  103 | 迪亚      | 测试工程师      |  12000 |  2000 |   1003 |
|  104 | 米龙      | 后端开发        |  20000 |  3500 |   1003 |
|  105 | 极光      | 前端开发        |  15000 |  2500 |   1003 |
|  106 | 村长      | 人力资源        |  10000 |   500 |   1001 |
|  107 | 五条人    | 销售工程师      |  14000 |  7000 |   1002 |
|  108 | 皇帝      | 董事长          |  30000 | 10000 |   1004 |
+------+-----------+-----------------+--------+-------+--------+#salary在20000以上为高工资,在13000-20000之间为中等工资,在13000之下为低等工资
mysql> select name,-> case-> when salary > 20000 then '高工资'-> when salary < 13000 then '低工资'-> else '中等工资'-> end 工资等级-> from employee;
+-----------+--------------+
| name      | 工资等级     |
+-----------+--------------+
| 麦当      | 高工资       |
| 咕咚      | 中等工资     |
| 迪亚      | 低工资       |
| 米龙      | 中等工资     |
| 极光      | 中等工资     |
| 村长      | 低工资       |
| 五条人    | 中等工资     |
| 皇帝      | 高工资       |
+-----------+--------------+
#注:从case到end构成一个新字段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB环境下一种改进的瞬时频率(IF)估计方法

相对于频率成分单一、周期性强的平稳信号来说&#xff0c;具有非平稳、非周期、非可积特性的非平稳信号更普遍地存在于自然界中。调频信号作为非平稳信号的一种&#xff0c;由于其频率时变、距离分辨率高、截获率低等特性&#xff0c;被广泛应用于雷达、地震勘测等领域。调频信…

PostgreSQL内存上下文系统设计概述

PostgreSQL内存上下文系统设计概述 原文:src/backend/utils/mmgr/README 背景 我们在“内存上下文”中进行大部分内存分配&#xff0c;通常是AllocSets由src/backend/utils/mmgr/aset.c实现。在没有大量开销的情况下成功进行内存管理的关键是定义一组具有适当生命周期的有用…

华为大数据平台-FusionInsight MRS

1、产品定位 (1) 关于华为的大数据平台&#xff0c;本人之前用过FusionInsight HD版本&#xff0c;近期也在用MRS结合MPP和治理平台做湖仓一体的开发&#xff0c;其实MRS是在HD基础上进行的升级、改版&#xff0c;MRS是集成一些开源的大数据组件&#xff0c;有自己的运维和安全…

【leetcode】剑指Offer专项突击版含注释 Java版本(一)

目录 前言第一天&#xff08;整数&#xff09;剑指 Offer II 002. 二进制加法&#xff08;简单&#xff09; 第二天&#xff08;整数&#xff09;剑指 Offer II 004. 只出现一次的数字 &#xff08;中等&#xff09;剑指 Offer II 005. 单词长度的最大乘积&#xff08;中等&…

LabVIEW光伏逆变器低电压穿越能力测试

LabVIEW光伏逆变器低电压穿越能力测试 随着光伏发电技术的迅速发展&#xff0c;光伏逆变器的低电压穿越&#xff08;LVRT&#xff09;能力日益成为影响电网稳定性的关键因素。为了提升光伏逆变器的并网性能&#xff0c;开发了一套基于LabVIEW的光伏逆变器LVRT测试系统。该系统…

如何成为fpga工程师

FPGA的应用领域非常的广&#xff0c;尤其再人工智能&#xff0c;大数据&#xff0c;云计算等等方向非常吃香。加上国家这两年的政策支持&#xff0c;整个芯片行业相比较其他的传统行业来说会好很多&#xff0c;总之前景是光明的&#xff0c;道路是曲折的&#xff0c;想要在人才…

05-验证整数输入

需求分析 我们在脚本中验证整数输入可谓是小菜一碟&#xff0c;但如果你也想接受负数的话&#xff0c;可就没那么容易了。问题在于每个数值只能有一个负号&#xff0c;而且还必须出现在数值的最开始部分。下面脚本可以确保正确地格式化负数&#xff0c;另外还能检查其值是否位…

Parquet 文件生成和读取

文章目录 一、什么是 Parquet二、实现 Java 读写 Parquet 的流程方式一&#xff1a;遇到的坑&#xff1a;坑1&#xff1a;ClassNotFoundException: com.fasterxml.jackson.annotation.JsonMerge坑2&#xff1a;No FileSystem for scheme "file"坑3&#xff1a;与 spa…

JAVA工程师面试专题-《并发编程篇》

目录 一、线程 1、并发与并行的区别 2、同步和异步的区别 3、Java中创建线程有哪些方式? 4、Thread和Runnable的区别 5、Java中的Runnable、Callable、Future、FutureTask的区别和联系&#xff1f; 6、说一下你对 CompletableFuture 的理解 7、volatile关键字有什么用&…

Ansible script 模块 该模块用于将本机的脚本在被管理端的机器上运行。Ansible服务执行本机脚本

目录 过程首先&#xff0c;我们写一个脚本&#xff0c;并给其加上执行权限直接运行命令来实现在被管理端执行该脚本验证错误演示 过程 该模块直接指定脚本的路径即可 首先&#xff0c;我们写一个脚本&#xff0c;并给其加上执行权限 vim /tmp/df.sh编辑脚本内容 这个脚本内容…

信钰证券:无任何氢能产品形成收入,这只氢能概念股却八连板了

受氢能方针面影响&#xff0c;多个氢能股迎来连涨潮。 2月26日&#xff0c;蓝科高新(601798.SH)涨停&#xff0c;截至收盘报11.01元&#xff0c;涨幅9.99%&#xff0c;完成八连板&#xff0c;总市值39.03亿元。首要因其地点氢能板块全体上涨影响。 同日同花顺氢动力概念下&am…

PyTorch 的 Autograd Engine(自动求导引擎)

PyTorch 的 Autograd Engine&#xff08;自动求导引擎&#xff09;是 PyTorch 中实现自动求导功能的核心组件之一。Autograd Engine 负责构建计算图、跟踪张量操作&#xff0c;并自动计算梯度。以下是 Autograd Engine 的一些关键特点和功能&#xff1a; 动态计算图&#xff1a…

【底层解读】ArrayList源码学习

成员变量 学习源码前&#xff0c;我们还是先看一下ArrayList中成员变量有哪些 构造函数 ArrayList一共有三个构造函数。 第一个&#xff1a;带有指定初始容量的构造函数 第二个&#xff1a;空参构造 第三个&#xff1a;包含指定集合的构造函数 OK&#xff0c;看完构造函数&a…

120KW OBC充电机定期检测的必要性

随着电动汽车的普及&#xff0c;充电设备的需求也在不断增加&#xff0c;其中&#xff0c;120KW OBC&#xff08;On-Board Charger&#xff09;充电机作为电动汽车的重要充电设备&#xff0c;其性能和安全性直接关系到电动汽车的使用体验和安全。因此&#xff0c;对120KW OBC充…

Python日志记录库——loguru

文章目录 一. 概述二、基本使用2.1 安装2.2 日志输出 三、进阶用法3.1 显示格式3.2 写入文件3.3 模块名参数化3.4 日志留存、压缩与清理3.5 序列化为json格式3.6 并发安全 参考资料 一. 概述 在 Python 中用到日志记录&#xff0c;那就不可避免地会用到内置的 logging标准库 。…

Spring全面精简总结

Spring两大核心功能&#xff1a;IOC控制反转、AOP面向切面的编程 控制反转(loC&#xff0c;Inversion of Control)&#xff0c;是一个概念&#xff0c;是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器&#xff0c;通过容器来实现对象的装配和管理。控制反转就是…

雷达一维成像:基于数据集的实践

雷达一维成像&#xff1a;基于数据集的实践 (距离压缩\距离-时间图\距离-多普勒图\微多普勒图) 说明 雷达成像技术是雷达发展的一个重要里程碑&#xff1a;从此雷达的功能不仅仅是将所观测的对象视为点目标&#xff0c;并只测量它的位置与运动参数。雷达成像技术使得我们可以获…

【Linux C | 网络编程】套接字选项、getsockopt、setsockopt详解及C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

雾锁王国服务器配置怎么选择?阿里云和腾讯云

雾锁王国/Enshrouded服务器CPU内存配置如何选择&#xff1f;阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置&#xff0c;支持4人玩家畅玩&#xff0c;自带10M公网带宽&#xff0c;1个月90元&#xff0c;3个月271元&#xff0c;幻兽帕鲁服务器申请页面 https://t.aliyun.com…

scp 本地机和远程机传输文件的方法

在本地机器上&#xff0c;通过ssh连接到远程机器&#xff0c;如果想要在两个机器之间互相传输文件&#xff0c;那么可以使用scp。 scp运行的地方&#xff1a;本地机的终端 样例&#xff1a; 1 将本地文件filename1传输到远程主机的/home/username/filename2目录下 scp -r D:\…