当前位置: 首页 > news >正文

数据库中的函数:高效操作与灵活运用

数据库中的函数:高效操作与灵活运用

在数据库开发过程中,函数是常用的工具,可以帮助我们更高效地处理和操作数据。无论是对字符串、数值、日期还是流程控制,数据库函数都能够提供强大的支持。本文将深入探讨常见的数据库函数,帮助大家理解如何利用这些函数提高查询效率和灵活性。

文章目录

  • 数据库中的函数:高效操作与灵活运用
      • 一、字符串函数
        • 应用示例:
      • 二、数值函数
        • 应用示例:
      • 三、日期函数
        • 应用示例:
      • 四、流程控制函数
        • 应用示例:
      • 小结
      • 小结

一、字符串函数

字符串操作是数据库中非常常见的需求,尤其在处理文本数据时,字符串函数能够提供强大的支持。

函数功能
CONCAT(S1, S2, ..., Sn)字符串拼接,将 S1, S2, …, Sn 拼接成一个字符串
LOWER(str)将字符串 str 全部转为小写
UPPER(str)将字符串 str 全部转为大写
LPAD(str, n, pad)左填充,用字符串 padstr 的左边进行填充,直到 n 个字符长度
RPAD(str, n, pad)右填充,用字符串 padstr 的右边进行填充,直到 n 个字符长度
TRIM(str)去掉字符串 str 头部和尾部的空格
SUBSTRING(str, start, len)返回从字符串 strstart 位置起的 len 个字符的子字符串
应用示例:
  1. CONCAT(S1, S2, ..., Sn)

    • 功能:将多个字符串 S1, S2, …, Sn 连接成一个新的字符串。这个函数可以拼接任意数量的字符串参数。若其中某个参数是 NULL,则返回 NULL

    • 示例

      SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
      

      这将拼接员工的 first_namelast_name 字段,并在中间加一个空格。

  2. LOWER(str)

    • 功能:将字符串 str 中的所有字母转换为小写形式。如果字符串中包含大写字母,则这些字母会被转换成对应的小写字母,其他字符不受影响。

    • 示例

      SELECT LOWER('HELLO WORLD') AS lowercase_text;
      

      结果是 hello world

  3. UPPER(str)

    • 功能:将字符串 str 中的所有字母转换为大写形式。如果字符串中包含小写字母,则这些字母会被转换成对应的大写字母,其他字符不受影响。

    • 示例

      SELECT UPPER('hello world') AS uppercase_text;
      

      结果是 HELLO WORLD

  4. LPAD(str, n, pad)

    • 功能:将字符串 str 左侧填充到指定的长度 n,如果字符串的长度小于 n,则使用 pad 来填充;如果 str 本身已经大于或等于 n,则返回原始字符串。

    • 示例

      SELECT LPAD('123', 6, '0') AS padded_string;
      

      结果是 000123,将 123 填充为六个字符长。

  5. RPAD(str, n, pad)

    • 功能:将字符串 str 右侧填充到指定的长度 n,如果字符串的长度小于 n,则使用 pad 来填充;如果 str 本身已经大于或等于 n,则返回原始字符串。

    • 示例

      SELECT RPAD('123', 6, '0') AS padded_string;
      

      结果是 123000,将 123 填充为六个字符长。

  6. TRIM(str)

    • 功能:删除字符串 str 两端的空白字符,包括空格、制表符(Tab)等。如果字符串两端有其他类型的空白字符(如换行符),也会被去除。

    • 示例

      SELECT TRIM('  hello world  ') AS trimmed_string;
      

      结果是 hello world,去除前后空格。

  7. SUBSTRING(str, start, len)

    • 功能:返回字符串 strstart 位置开始的 len 个字符的子字符串。注意,start 从 1 开始计数。

    • 示例

      SELECT SUBSTRING('hello world', 7, 5) AS substring_text;
      

      结果是 world,从第七个字符开始,取五个字符。

二、数值函数

数值函数在数据库操作中极为常见,尤其在处理数学计算、统计分析等场景下具有重要作用。

函数功能
CEIL(x)向上取整,返回大于等于 x 的最小整数
FLOOR(x)向下取整,返回小于等于 x 的最大整数
MOD(x, y)返回 x 除以 y 的余数
RAND()返回一个 0 到 1 之间的随机数
ROUND(x, y)返回 x 四舍五入后的值,保留 y 位小数
ABS(x)返回 x 的绝对值
POW(x, y)返回 xy 次方
SQRT(x)返回 x 的平方根
LOG(x)返回 x 的自然对数
EXP(x)返回 ex 次方
应用示例:
  1. CEIL(x)

    • 功能:返回大于或等于 x 的最小整数。如果 x 是整数,返回值为 x 本身。如果是浮点数,则返回下一个整数。

    • 示例

      SELECT CEIL(4.2) AS ceil_value;
      

      结果是 5

  2. FLOOR(x)

    • 功能:返回小于或等于 x 的最大整数。如果 x 是整数,返回值为 x 本身。如果是浮点数,则返回前一个整数。

    • 示例

      SELECT FLOOR(4.7) AS floor_value;
      

      结果是 4

  3. MOD(x, y)

    • 功能:返回 x 除以 y 的余数。该函数是取模操作,常用于循环、分页等场景。

    • 示例

      SELECT MOD(10, 3) AS remainder;
      

      结果是 1,因为 10 除以 3 的余数是 1。

  4. RAND()

    • 功能:返回一个 0 到 1 之间的随机浮点数。每次执行时返回不同的随机数。

    • 示例

      SELECT RAND() AS random_value;
      

      结果是一个 0 到 1 之间的随机数,例如 0.5483

  5. ROUND(x, y)

    • 功能:返回数字 x 四舍五入后的值,保留 y 位小数。如果 y 为 0,则返回四舍五入后的整数。

    • 示例

      SELECT ROUND(15.6789, 2) AS rounded_value;
      

      结果是 15.68,四舍五入保留两位小数。

  6. ABS(x)

    • 功能:返回 x 的绝对值。无论 x 是正数还是负数,返回结果始终为非负数。

    • 示例

      SELECT ABS(-10) AS absolute_value;
      

      结果是 10

  7. POW(x, y)

    • 功能:返回 xy 次方,计算 x 的指数值。

    • 示例

      SELECT POW(2, 3) AS power_value;
      

      结果是 8,表示 2 的 3 次方。

  8. SQRT(x)

    • 功能:返回 x 的平方根。若 x 为负数,则会返回错误。

    • 示例

      SELECT SQRT(16) AS sqrt_value;
      

      结果是 4

  9. LOG(x)

    • 功能:返回 x 的自然对数(以 e 为底)。自然对数是数学中常见的对数形式。

    • 示例

      SELECT LOG(10) AS log_value;
      

      结果是 2.3026,表示 10 的自然对数。

  10. EXP(x)

    • 功能:返回 ex 次方,e 是数学中的自然常数,约等于 2.71828。

    • 示例

      SELECT EXP(2) AS exp_value;
      

      结果是 7.3891,表示 e 的 2 次方。

三、日期函数

日期函数对于处理时间数据非常重要,尤其在进行时间统计、日期计算等操作时。

函数功能
CURDATE()返回当前日期(不包含时间部分)
CURTIME()返回当前时间(不包含日期部分)
NOW()返回当前日期和时间
YEAR(date)获取指定 date 的年份
MONTH(date)获取指定 date 的月份
DAY(date)获取指定 date 的日期
DATE_ADD(date, INTERVAL expr type)返回一个日期,表示在 date 上加上一个时间间隔 expr 后的日期
DATEDIFF(date1, date2)返回 date1date2 之间的天数差
应用示例:
  1. CURDATE()

    • 功能:返回当前的日期,格式为 YYYY-MM-DD,不包含时间部分。

    • 示例

      SELECT CURDATE() AS current_date;
      

      结果是 2025-03-30

  2. CURTIME()

    • 功能:返回当前的时间,格式为 HH:MM:SS,不包含日期部分。

    • 示例

      SELECT CURTIME() AS current_time;
      

      结果是 14:30:45

  3. NOW()

    • 功能:返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS

    • 示例

      SELECT NOW() AS current_datetime;
      

      结果是 2025-03-30 14:30:45

  4. YEAR(date)

    • 功能:从指定的日期中提取年份部分。

    • 示例

      SELECT YEAR('2025-03-30') AS year;
      

      结果是 2025

  5. MONTH(date)

    • 功能:从指定的日期中提取月份部分。

    • 示例

      SELECT MONTH('2025-03-30') AS month;
      

      结果是 3

  6. DAY(date)

    • 功能:从指定的日期中提取日期部分。

    • 示例

      SELECT DAY('2025-03-30') AS day;
      

      结果是 30

  7. DATE_ADD(date, INTERVAL expr type)

    • 功能:返回一个新的日期,表示在指定的日期 date 上加上一个时间间隔 exprtype 可以是 DAY、MONTH 等单位。

    • 示例

      SELECT DATE_ADD('2025-03-30', INTERVAL 10 DAY) AS new_date;
      

      结果是 2025-04-09

  8. DATEDIFF(date1, date2)

    • 功能:返回 date1date2 之间的天数差,date1 减去 date2 的结果。

    • 示例

      SELECT DATEDIFF('2025-04-09', '2025-03-30') AS date_diff;
      

      结果是 10,表示两个日期之间相差 10 天。

四、流程控制函数

流程控制函数能够帮助我们根据不同的条件执行不同的操作,这在复杂查询和数据处理过程中非常实用。

函数功能
IF(value, t, f)如果 value 为 true,则返回 t,否则返回 f
IFNULL(value1, value2)如果 value1 不为空,返回 value1,否则返回 value2
CASE WHEN [val1] THEN [res1] ... ELSE [default] END如果 val1 为 true,返回 res1,否则返回默认值 default
CASE expr WHEN [val1] THEN [res1] ... ELSE [default] END如果 expr 等于 val1,返回 res1,否则返回默认值 default
应用示例:
  1. IF(value, t, f)

    • 功能:如果 value 为真,返回 t,否则返回 f

    • 示例

      SELECT IF(score > 60, 'Pass', 'Fail') AS result FROM students;
      

      如果成绩大于 60,返回 ‘Pass’,否则返回 ‘Fail’。

  2. IFNULL(value1, value2)

    • 功能:如果 value1 不为空,返回 value1,否则返回 value2

    • 示例

      SELECT IFNULL(address, 'No Address') AS address_info FROM customers;
      

      如果 addressNULL,则返回 ‘No Address’。

  3. CASE WHEN [val1] THEN [res1] ... ELSE [default] END

    • 功能:根据多个条件进行选择。如果 val1 为真,返回 res1,否则返回默认值 default

    • 示例

      SELECT order_id, CASE WHEN status = 'shipped' THEN 'Shipped'WHEN status = 'pending' THEN 'Pending'ELSE 'Unknown' END AS order_status
      FROM orders;
      

      根据订单状态返回不同的提示。

  4. CASE expr WHEN [val1] THEN [res1] ... ELSE [default] END

    • 功能:检查表达式 expr 的值,若其值等于 val1,则返回 res1,否则返回 default

    • 示例

      SELECT CASE status WHEN 'active' THEN 'Active Status' ELSE 'Inactive Status' END AS status_description
      FROM users;
      

      根据 status 字段的值返回不同的描述。

小结

数据库中的函数提供了强大的数据操作能力,能够帮助我们进行字符串操作、数值计算、日期处理以及流程控制。在实际开发中,合理使用这些函数可以提高查询效率,简化复杂操作。掌握这些常用函数,不仅能提升你的数据库操作能力,还能使你的开发工作更加高效。希望本文能够帮助你更好地理解和应用数据库中的常见函数,提升数据库开发和管理的能力。
expr 的值,若其值等于 val1,则返回 res1,否则返回 default

  • 示例

    SELECT CASE status WHEN 'active' THEN 'Active Status' ELSE 'Inactive Status' END AS status_description
    FROM users;
    

    根据 status 字段的值返回不同的描述。

小结

数据库中的函数提供了强大的数据操作能力,能够帮助我们进行字符串操作、数值计算、日期处理以及流程控制。在实际开发中,合理使用这些函数可以提高查询效率,简化复杂操作。掌握这些常用函数,不仅能提升你的数据库操作能力,还能使你的开发工作更加高效。希望本文能够帮助你更好地理解和应用数据库中的常见函数,提升数据库开发和管理的能力。在这里插入图片描述

相关文章:

数据库中的函数:高效操作与灵活运用

数据库中的函数:高效操作与灵活运用 在数据库开发过程中,函数是常用的工具,可以帮助我们更高效地处理和操作数据。无论是对字符串、数值、日期还是流程控制,数据库函数都能够提供强大的支持。本文将深入探讨常见的数据库函数&…...

《非暴力沟通》第十二章 “重获生活的热情” 总结

《非暴力沟通》第十二章 “重获生活的热情” 的核心总结: 本章将非暴力沟通的核心理念延伸至生命意义的探索,提出通过觉察与满足内心深处的需要,打破“义务性生存”的桎梏,让生活回归由衷的喜悦与创造。作者强调,当行动…...

C++位运算精要:高效解题的利器

引言 在算法竞赛和底层开发中,位运算(Bit Manipulation)因其极高的执行效率而广受青睐。它能在O(1)时间复杂度内完成某些复杂操作,大幅优化程序性能。本文系统梳理C位运算的核心技巧,涵盖基础操作、经典应用、优化策略…...

从两种遍历方法中构造二叉树

从前序与中序遍历序列构造二叉树 题目描述 代码实现 class Solution { private:unordered_map<int, int> mapIn;TreeNode* dfs(vector<int>& preorder, vector<int>& inorder, int pre_left, int pre_right, int in_left, int in_right){//出口if(…...

【C语言】字符函数的易错点及其模拟实现

在上一章为大家简单介绍了字符函数的种类和基础运用&#xff0c;语法。那么在本章为大家分享一些易错点和自己如何编写一个自定义函数来实现相同的作用。&#xff08;点个关注呗&#xff09; 一strlen&#xff1a;计算字符串长度 1. 函数原型 size_t strlen(const char *str…...

【前端】创建一个vue3+JavaScript项目流程

1、检查node和npm是否安装&#xff0c;查看版本&#xff1a; node -v npm -v 2、安装脚手架cli或vite &#xff08;1&#xff09;cli 安装&#xff1a;npm install -g vue/cli 检查是否安装成功&#xff1a;vue -v 使用cli创建项目&#xff1a;vue create my-project(项目名)--…...

JVM面试专题

目录 1 JVM组成 1.1 JVM由那些部分组成&#xff0c;运行流程是什么&#xff1f; 1.2 什么是程序计数器&#xff1f; 1.3 你能给我详细的介绍Java堆吗? 元空间(MetaSpace)介绍 1.4 什么是虚拟机栈 1.5 方法区 1.5.1 概述 1.5.2 常量池 1.5.3 运行时常量池 1.6 你听过…...

齐次线性方程组及python求解

齐次线性方程组的概念 齐次线性方程组是指所有常数项都为零的线性方程组&#xff0c;其一般形式为&#xff1a; a 11 x 1 a 12 x 2 ⋯ a 1 n x n 0 a_{11}x_1 a_{12}x_2 \cdots a_{1n}x_n 0 a11​x1​a12​x2​⋯a1n​xn​0 a 21 x 1 a 22 x 2 ⋯ a 2 n x n 0 a_…...

鸿蒙前后端项目源码-点餐v3.0-原创!原创!原创!

鸿蒙前后端点餐项目源码含文档ArkTS语言. 原创作品.我半个月写的原创作品&#xff0c;请尊重原创。 原创作品&#xff0c;盗版必究&#xff01;&#xff01;&#xff01;&#xff01; 原创作品&#xff0c;盗版必究&#xff01;&#xff01;&#xff01;&#xff01; 原创作…...

【数据结构】算法效率的双刃剑:时间复杂度与空间复杂度

前言 在算法的世界里&#xff0c;效率是衡量算法优劣的关键标准。今天&#xff0c;就让我们深入探讨算法效率的两个核心维度&#xff1a;时间复杂度和空间复杂度&#xff0c;帮助你在算法设计的道路上更进一步。 一、算法效率&#xff1a;衡量算法好坏的关键 算法的效率主要…...

Linux | I.MX6ULL 终结者底板原理图讲解(5)

01 USB 转串口电路 I.MX6ULL 终结者开发板板载了一个 USB 串口,原理图如图 1 和图 2 所示: USB 转串口我们使用的是 CH340G 芯片,该芯片是由南京沁恒微电子研发生产的一款国产芯片。CH340G的工作电压支持 3.3V、5V,甚至是 3V,从上图可以看到我们给 CH340G 的电压是 5V…...

java拆分字符串、去重并统计相关长度

java拆分字符串、去重并统计相关长度 20250331 19:52 求取逗号隔开的字符串的 的长度&#xff0c;要求去重。拆分字符串应该是指按照某种分隔符将字符串分割成多个部分&#xff0c;然后去除重复的部分&#xff0c;最后统计处理后各个部分的长度或者总长度。 这时候可能需要明确…...

Vue 2 和 Vue 3 有什么区别

Vue 2 和 Vue 3 是 Vue.js 框架的两个主要版本&#xff0c;它们在核心特性、性能、API 设计等方面有一些显著的区别。以下是它们的主要区别&#xff1a; 1. 核心特性 • Composition API&#xff1a; • Vue 3 引入了 Composition API&#xff0c;这是一种新的 API&#xff0…...

RabbitMQ、RocketMQ 和 Kafka 的消息特性对比

以下是 RabbitMQ、RocketMQ 和 Kafka 在保证消息不丢失、消息顺序、消息幂等性以及快速处理积压方面的详细对比&#xff1a; 1. 消息不丢失 特性RabbitMQRocketMQKafka生产者端开启事务或 Confirm 模式使用事务消息机制设置 acksall 确保消息被所有副本确认服务端消息持久化&…...

Logback 实现不同包的日志记录到不同文件

核心 通过合理配置多个 appender 来定义不同的日志输出目的地通过 logger 元素将不同的包与对应的 appender 关联起来同时利用 additivity 属性控制日志的传递&#xff0c;从而实现精准的日志输出管理。 additivity 属性控制日志传递&#xff1a; additivity 属性决定了该 l…...

【附JS、Python、C++题解】Leetcode面试150题(11)H指数

一、题目 274. H 指数 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数” &#xff0c;一名科研人员的 h 指数 是指他&#xf…...

C++第13届蓝桥杯省b组习题笔记

1.九进制转十进制 九进制正整数 (2022)9转换成十进制等于多少&#xff1f; 第一位乘9的0次方&#xff0c;第二位乘9的1次方&#xff0c;第三位乘9的二次方以此类推 #include <iostream> using namespace std;int main() {// 请在此输入您的代码int t2022;int res0;int c…...

【学Rust写CAD】19 颜色渐变定义(gradient_stop.rs)

源码 //color/gradient_stop.rs use super::argb::Color; #[derive(Clone, Copy, Debug)] pub struct GradientStop {pub position: f32,pub color: Color, }代码分析 这段代码是一个结构体&#xff08;struct&#xff09;&#xff0c;并为其派生&#xff08;derive&#xff…...

从零开始跑通3DGS教程:介绍

写在前面 本文内容 本文所属《从零开始跑通3DGS教程》系列文章&#xff0c;将实现从原始图像(有序、无序)数据开始&#xff0c;经过处理(视频抽帧成有序)&#xff0c;SFM&#xff0c;3DGS训练、编辑、渲染等步骤&#xff0c;完整地呈现从原始图像到新视角合成的全部流程&#x…...

探索 Python 编程的宇宙:从基础到进阶的奇妙之旅

在当今的编程世界里&#xff0c;Python 以其简洁、易读和强大的功能&#xff0c;成为了众多开发者的心头好。它就像一个充满无限可能的宇宙&#xff0c;吸引着人们不断去探索其中的奥秘。今天&#xff0c;让我们一起踏上这场 Python 编程的奇妙之旅&#xff0c;从基础到进阶&am…...

使用 Spring AI 和 LangChain4j 实现聊天机器人对比分析

人工智能领域正在彻底改变公司管理客户服务的方式。随着 Spring AI 和 LangChain4j 等专用框架的出现&#xff0c;Java 开发人员现在拥有强大的工具来实现能够从公司数据中学习的智能聊天机器人。在本文中&#xff0c;我们将探讨这两个框架的主要功能&#xff0c;并了解如何使用…...

3月31(信息差)

1.全国首个!湖北为脑机接口医疗服务定价 据湖北省医疗保障局消息,今日,湖北省医保局发布全国首个脑机接口医疗服务价格,其中,侵入式脑机接口植入费6552 元/次,侵入式脑机接口取出费3139元/次,非侵入式脑机接口适配费966元/次,标志着这一前沿科技正式步入民生领域,为无…...

苍穹外卖项目结构

苍穹外卖项目总结-CSDN博客 【苍穹外卖|项目】万字总结-CSDN博客 苍穹外卖项目总结_苍芎外卖如何实现的跨域-CSDN博客 【苍穹外卖 | 项目日记】第九天 万字总结-CSDN博客 【苍穹外卖|项目】万字总结-CSDN博客 一、技术点&#xff1a; Nginx代理 负载均衡&#xff1a;通过…...

3. 无重复字符的最长子串

leetcode Hot 100系列 文章目录 一、核心操作二、外层配合操作三、核心模式代码总结 一、核心操作 用map&#xff0c;key为char&#xff0c;value为出现次数&#xff0c;将字符串中的值依次入栈&#xff0c;再判断次数是否大于1&#xff0c;如果大于1&#xff0c;则循环删除掉…...

python力扣48.旋转图像

给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&…...

文章配图新纪元:OpenAI新推出的GPT-4o原生图像生成功能启示

当OpenAI推出GPT-4o原生图像生成功能时&#xff0c;许多人惊呼&#xff1a;“AI生成的图像已经发展到这样了吗&#xff01;”这一激动人心的时刻&#xff0c;标志着人工智能在图像创作领域迈出了历史性的一步。无论是细腻的人物肖像&#xff0c;栩栩如生的面部表情&#xff0c;…...

使用Google Gemini API密钥创建AI驱动的Chrome扩展程序

在这个快节奏的数字时代,我们高度依赖Chrome扩展程序来提升浏览效率。 但你是否想过用人工智能为你的扩展注入超能力?听起来很酷对吧?😎 随着谷歌Gemini API的发布,AI技术变得触手可及。 该API能让你在项目中直接调用先进的自然语言处理、图像识别等炫酷的AI功能。 更…...

MapReduce的工作原理

MapReduce 是 Hadoop 的核心计算框架&#xff0c;用于分布式处理大规模数据集。它的核心思想是 **"分而治之"**&#xff0c;将任务拆分为多个子任务并行处理&#xff0c;最终汇总结果。以下是其工作原理的详细解析 1. 核心阶段 MapReduce 的执行过程分为三个阶段&a…...

k8s网络策略

k8s网络策略 k8s网络测试概述查看防火墙策略 k8s网络策略网络访问控制案例&#xff1a;配置k8s网络策略结果验证 k8s网络策略配置示例 k8s网络测试概述 网络策略就是设置防火墙 查看防火墙策略 # 获取当前命名空间下的所有 NetworkPolicy 资源&#xff08;网络策略&#xff0…...

Linux文件描述符的分配机制与重定向实现:揭开“一切皆文件”的面纱

Linux系列 文章目录 Linux系列前言一、Linux的标准流二、文件描述符分配规则三、文件重定向四、Linux下一切皆文件 前言 上篇我们介绍了语言和系统层次的基础I/O文件操作&#xff0c;其涉及的知识有&#xff1a;C语言文件操作和系统调用接口两者的关系、文件描述符的概念、操作…...

SpringBoot事务管理(四)

记录几条SpringBoot事务管理中踩过的坑及解决办法&#xff1a; 1. 自调用问题 问题描述 在同一个类中&#xff0c;一个非事务方法调用另一个有 Transactional 注解的事务方法&#xff0c;事务不会生效。因为 Spring 的事务管理是基于 AOP 代理实现的&#xff0c;自调用时不会…...

iOS GCD

GCD 任务队列 主队列&#xff1a; 任务在主线程执行&#xff0c;主队列是一个串行队列&#xff0c;它主要处理 UI 相关任务&#xff0c;也可以处理其他类型任务&#xff0c;但为了性能考虑&#xff0c;尽量让主队列执行 UI 相关或少量不耗时间和资源的操作。 系统全局并发队…...

Hadoop集群的常用命令

1.基本命令 启动 Hadoop: start-dfs.sh start-yarn.sh 这些命令会分别启动 Hadoop 的 DFS 和 YARN。 查看 Hadoop 目录: hdfs dfs -ls -R / 该命令会递归地列出 HDFS 根目录下的所有文件和目录。 创建目录: hdfs dfs -mkdir /example_dir 在 HDFS 中创建一个新目录。 上传文…...

Kafka 实战指南:原理剖析与高并发场景设计模式

一、介绍 Kafka是由 Apache 软件基金会开发的开源流处理平台&#xff0c;作为高吞吐量的分布式发布订阅消息系统&#xff0c;采用 Scala 和 Java 编写。 Kafka是一种消息服务&#xff08;MQ&#xff09;&#xff0c;在理论上可以达到十万的并发。 代表的MQ软件—— kafka 十万…...

黑盒测试的判定表法(能对多条件依赖关系进行设计测试点)

定义: 判定表是分析和表达多逻辑条件下执行不同操作的工具。就是指把所有的输入条件、所有可能采取的动作按表格列出来&#xff0c;每一种条件和动作的组合构成一条规则&#xff0c;也即一条用例。 1.判定表法的引用 等价类边界值分析法主要关注单个输入类条件的测试并未考虑…...

SQLMesh系列教程:基于指标构建一致的分析语义层应用实践

本文深入探讨SQLMesh指标框架的核心概念、定义方法及应用场景。通过统一的语义层管理&#xff0c;SQLMesh解决了数据分析中指标定义不一致的痛点&#xff0c;实现了跨团队协作的数据一致性。文章包含指标定义语法详解、自动表连接机制解析、派生指标构建方法&#xff0c;并通过…...

解决Docker端口映射后外网无法访问的问题

一、前言 今天因为服务器宕机&#xff0c;重新启动后发现docker部署的mysql和redis都无法通过外网访问。经过排查原因是ip转发没有开启。下面教大家如何解决 二、问题排查 (1) 查看防火墙运行情况 使用firewall-cmd --state 如果防火墙处于not running&#xff0c;则可以排…...

如何指定运行amd64架构的ubuntu?

如何指定运行amd64架构的ubuntu 下面这个命令如何制定运行amd64架构的ubuntu&#xff1f; docker run -it -v $(pwd):/workspace ubuntu:20.04 bash这个命令已经非常接近正确运行一个基于 amd64 架构的 Ubuntu 容器了&#xff0c;但如果你想明确指定运行 amd64 架构的镜像&am…...

[MySQL]数据类型

数据类型 1.数据类型分类2.数值类型2.1 tinyint类型无符号类型举例 3.bit类型3.1 基本语法 4. 小数类型4.1 float语法4.2 decimal语法 5.字符串类型5.1 char类型5.2 varchar 6.日期类型7.enum和set查询语句 1.数据类型分类 接下来就对上面的四种类型进行介绍 2.数值类型 数值类…...

基于Python的Django框架的手机购物商城管理系统

标题:基于Python的Django框架的手机购物商城管理系统 内容:1.摘要 随着互联网的快速发展&#xff0c;手机购物逐渐成为人们日常生活中不可或缺的一部分。本研究的目的是开发一个基于Python的Django框架的手机购物商城管理系统&#xff0c;以提高购物商城的管理效率和用户体验。…...

大模型在2型糖尿病预测及围手术期管理中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与创新点 二、大模型预测 2 型糖尿病的原理与方法 2.1 大模型概述 2.2 用于 2 型糖尿病预测的大模型类型 2.3 模型训练与数据来源 2.4 预测指标与算法 三、术前风险预测与评估 3.1 血糖控制情况预…...

JavaEE--多线程

一、认识线程 1. 什么是线程 线程&#xff08;Thread&#xff09;是计算机科学中的基本概念&#xff0c;指的是程序内部的一条执行路径。一个进程可以包含多个线程&#xff0c;每个线程共享进程的资源&#xff0c;包括内存空间、文件描述符等。线程可以同时执行多个任务&…...

自动化测试之等待方式

在自动化测试中&#xff0c;等待是一个重要的技术&#xff0c;用于处理页面加载、元素定位、元素状态改变等延迟问题。 等待能够确保在条件满足后再进行后续操作&#xff0c;提高自动化测试的稳定性以及可靠性。 等待方式&#xff1a;显示等待、隐式等待、线程睡眠 1. 显式等…...

git中用于生成commitId与其父commitId间的文件差异文件树

生成commitId与其父commitId间的文件差异文件树 #!/bin/bash # # 用于生成目标commitId与其父commitId间文件差异 # commit_id$1 # 输入目标commit的哈希值 old_dir"old_version" new_dir"new_version"# 创建目录 mkdir -p "$old_dir" "$…...

Ubuntu / Debian 创建快捷方式启动提权

简述 在 Linux 系统中&#xff0c;.desktop 文件是 桌面入口文件&#xff0c;用于在桌面环境&#xff08;如 GNOME、KDE&#xff09;中定义应用程序的启动方式、图标、名称等信息。当你执行 touch idea.desktop 时&#xff0c;实际上创建了一个空的 .desktop 文件&#xff08;…...

VLA 论文精读(三)Diffusion Policy: Visuomotor Policy Learning via Action Diffusion

这篇笔记用来描述 2023年 发表在arxiv上的一篇有关VLA领域的论文&#xff0c;这篇笔记记录的是该论文 2024年03月的改版后。 写在最前面 为了方便你的阅读&#xff0c;以下几点的注意事项请务必了解&#xff1a; 该系列文章每个字都是我理解后自行翻译并写上去的&#xff0c;…...

ASP.NET Core 中实现 SSE 流式响应的简单例子

[HttpGet] public async Task<IActionResult> SseExample() {// 请求头Response.Headers.Add("Content-Type", "text/event-stream");Response.Headers.Add("Cache-Control", "no-cache");Response.Headers.Add("Connectio…...

「Unity3D」TMP_InputField关闭虚拟键盘后,再次打开虚拟键盘,此时无法回调onSelect的问题

TMP_InputField可以注册一个onSelect回调函数&#xff0c;在InputField选中的时候回调&#xff0c;但在虚拟键盘手动关闭或被返回取消的时候&#xff0c;此时再打开虚拟键盘时&#xff0c;就不会调用onSelect。 原因在于&#xff0c;虚拟键盘有三种关闭的操作方式&#xff1a;…...

手工排查后门木马的常用姿势

声明&#xff01;本文章所有的工具分享仅仅只是供大家学习交流为主&#xff0c;切勿用于非法用途&#xff0c;如有任何触犯法律的行为&#xff0c;均与本人及团队无关&#xff01;&#xff01;&#xff01; 1. 检查异常文件 &#xff08;1&#xff09;查找最近修改的文件 # 查…...

VRRP协议

基础概念 Master 路由器:“Master 路由器”在一个 VRRP 组中承担报文转发任务。在每一个 VRRP 组中&#xff0c;只有 Master 路由器才会响应针对虚拟 IP 地址的 ARP Request。Master 路由器会以一定的时间间隔周期性地发送 VRRP 报文&#xff0c;以便通知同一个 VRRP 组中的 B…...