MySQL 内置函数
字符串函数
concat(str1, str2, ...)
- 描述: 这个函数用于连接两个或多个字符串,返回一个新字符串。
- 语法:
concat(str1, str2, ...)
- 注意点:
- 如果任意一个参数是null,则结果为null。
- 可以连接任意数量的字符串。
- 示例:
select concat('first name: ', first_name, ', last name: ', last_name) as full_name from employees;
- 结果: 将
first_name
和last_name
列中的值连接成完整的姓名格式。
lower(str)
- 描述: 将给定的字符串转换为小写。
- 语法:
lower(str)
- 示例:
select lower(email) as lowercase_email from users;
- 结果: 将所有用户的电子邮件地址转换为小写形式。
upper(str)
- 描述: 将给定的字符串转换为大写。
- 语法:
upper(str)
- 示例:
select upper(country) as uppercase_country from addresses;
- 结果: 将所有国家名称转换为大写形式。
substring(str, pos, len)
- 描述: 提取字符串的一部分。
- 语法:
substring(str, pos[, len])
- 说明:
pos
: 开始位置(第一个字符的位置是1)。len
: 要提取的长度(可选),如果省略,则提取到字符串末尾。
- 示例:
select substring(phone_number, 4, 3) as area_code from contacts;
- 结果: 提取电话号码中第4位开始的3个字符作为区号。
replace(str, from_str, to_str)
- 描述: 在字符串str中查找所有出现的from_str并用to_str替换。
- 语法:
replace(str, from_str, to_str)
- 示例:
select replace(description, 'old', 'new') as updated_description from product_descriptions;
- 结果: 将产品描述中的"old"替换为"new"。
实际应用案例
假设我们有一个名为employees
的表,包含员工的信息,包括他们的名字、姓氏和电子邮件。我们可以使用这些字符串函数来处理数据:
-- 创建一个虚拟的员工表
create table employees (id int auto_increment primary key,first_name varchar(50),last_name varchar(50),email varchar(100)
);-- 插入一些示例数据
insert into employees (first_name, last_name, email) values
('john', 'doe', 'john.doe@company.com'),
('jane', 'smith', 'jane.smith@company.com');-- 使用字符串函数处理数据
select concat(first_name, ' ', last_name) as full_name,lower(email) as lowercase_email,substring(email, locate('@', email) + 1) as domain
from employees;-- 更新员工的电子邮件地址,将域名从'company.com'改为'newdomain.com'
update employees
set email = replace(email, 'company.com', 'newdomain.com');
这段代码展示了如何创建一个简单的员工表,插入一些数据,并使用字符串函数生成完整的名字、将电子邮件地址转换为小写以及提取电子邮件的域名。最后还展示了如何更新电子邮件地址中的域名。
数字函数
abs(x)
- 描述: 返回x的绝对值。
- 语法:
abs(x)
- 应用场景: 当你需要处理数值差异而不关心正负号时,例如计算两个数之间的差距。
- 示例:
select abs(-10) as absolute_value;
- 结果: 10
ceil(x)
- 描述: 返回大于等于x的最小整数值(向上取整)。
- 语法:
ceil(x)
- 应用场景: 当你希望确保一个数值不会低于某个整数值时,例如计算需要多少个容器来装载物品。
- 示例:
select ceil(4.3) as ceiling_value;
- 结果: 5
floor(x)
- 描述: 返回小于等于x的最大整数值(向下取整)。
- 语法:
floor(x)
- 应用场景: 当你希望确保一个数值不会超过某个整数值时,例如确定可以分配给用户的资源数量。
- 示例:
select floor(4.7) as floor_value;
- 结果: 4
round(x, d)
- 描述: 返回参数x的四舍五入数,保留d位小数。
- 语法:
round(x, d)
- 应用场景: 当你需要对数值进行标准化处理,如货币金额通常需要保留两位小数。
- 示例:
select round(4.567, 2) as rounded_value;
- 结果: 4.57
mod(n, m)
- 描述: 返回n除以m后的余数。
- 语法:
mod(n, m)
- 应用场景: 在循环或模式匹配中非常有用,比如判断一个数字是否为偶数。
- 示例:
select mod(10, 3) as remainder;
- 结果: 1
日期和时间函数
now()
- 描述: 返回当前的日期和时间。
- 语法:
now()
- 应用场景: 记录事件发生的时间戳,或者在插入记录时自动添加当前时间。
- 示例:
select now() as current_datetime;
- 结果: 当前系统时间和日期(例如:2024-12-12 15:56:00)
date()
- 描述: 从
datetime
或 timestamp类型的值中提取日期部分。 - 语法:
date(datetime)
- 应用场景: 如果你有一个包含日期和时间的数据,但你只关心日期(年、月、日),那么可以使用这个函数来去除时间部分。
- 示例:
select date('2024-12-12 15:56:00') as current_datetime;
- 结果: 每个事件的时间都被转换为仅包含日期的格式。(例如:2024-12-12 )
date_format
- 描述: 按照指定的格式字符串来格式化日期或时间值。
- 语法:
date_format(
date,format)
- 应用场景: 可用于格式化日期或时间值。
- 常用格式说明符
%Y
:四位数的年份 (0000-9999)
%y
:两位数的年份 (00-99)
%m
:两位数的月份 (01-12)
%c
:月份,数字,没有前导零 (1-12)
%d
:两位数的月份中的天数 (00-31)
%e
:月份中的天数,数字,没有前导零 (0-31)
%H
:小时 (00-23)
%h
或 %I
:小时 (01-12)
%i
:分钟 (00-59)
%S
或 %s
:秒 (00-59)
%W
:星期名 ('Monday'..'Sunday')
%a
:缩写的星期名 ('Mon'..'Sun')
%p
:AM或PM
%w
:星期中的第几天 (0=Sunday ... 6=Saturday)
%j
:一年中的第几天 (001-366)
- 示例:如果你有一个日期字段名为
created_at
,并且你想要以YYYY-MM-DD HH:MM:SS
格式显示它,你可以使用如下查询:select date_format(date ,'%Y-%m-%d') as formatted_date from your_table;
- 结果: 2024-12-12
curdate()
- 描述: 返回当前日期。
- 语法:
curdate()
- 应用场景: 可用于创建当天的报告或筛选当天的数据。
- 示例:
select curdate() as current_date;
- 结果: 2024-12-12
curtime()
- 描述: 返回当前时间。
- 语法:
curtime()
- 应用场景: 如果只需要记录时间部分,而不需要日期部分时。
- 示例:
select curtime() as current_time;
- 结果: 15:56:00
date_add(date, interval expr unit)
- 描述: 向日期添加一个时间间隔。
- 语法:
date_add(date, interval expr unit)
- 应用场景: 用于计算未来的日期或过去的时间点,例如计算订单的预计交付日期。
- 示例:
select date_add('2024-12-12', interval 1 day) as next_day;
- 结果: '2024-12-13'
date_sub(date, interval expr unit)
- 描述: 向日期减去一个时间间隔。
- 语法:
date_sub(date, interval expr unit)
- 应用场景: 用于计算未来的日期或过去的时间点,例如计算订单的预计交付日期。
- 示例:
select date_sub('2024-12-12', interval 1 day) as last_day;
- 结果: '2024-12-11'
datediff(expr1, expr2)
- 描述: 计算两个日期之间的天数差。
- 语法:
datediff(expr1, expr2)
- 应用场景: 计算项目持续时间、客户年龄等。
- 示例:
select datediff('2024-12-25', '2024-12-12') as days_between;
- 结果: 13
timestampdiff(unit, datetime_expr1, datetime_expr2)
- 描述: 计算两个时间戳之间的差值,单位可以是年、月、日、小时、分钟或秒。
- 语法:
timestampdiff(unit, datetime_expr1, datetime_expr2)
- 应用场景: 用于计算精确的时间差,例如会员资格的有效期。
- 示例:
select timestampdiff(year, '1980-01-01', curdate()) as age;
- 结果: 44 (假设当前年份为2024)
条件函数
if(condition, value_if_true, value_if_false)
- 描述: 如果条件成立则返回一个值,否则返回另一个值。
- 语法:
if(condition, value_if_true, value_if_false)
- 应用场景: 简单的二元条件判断,例如判断用户是否为成年人。
- 示例:
select if(age >= 18, 'adult', 'minor') as age_group from users;
CASE WHEN condition THEN result [WHEN condition THEN result ...] [ELSE result] END
- 描述: 复杂的条件判断结构。
- 语法:
case when condition then result...else result end
- 应用场景: 适用于多条件判断的情况,例如根据成绩评定等级。
- 示例:
select case when score >= 90 then 'a'when score >= 80 then 'b'when score >= 70 then 'c'else 'd'end as grade from students;
聚合函数
count(column_name)
- 描述: 计算列中非null值的数量。
- 语法:
count(column_name)
- 应用场景: 统计表中的记录数,例如统计用户总数。
- 示例:
select count(*) as total_users from users;
sum(column_name)
- 描述: 计算列中所有值的总和。
- 语法:
sum(column_name)
- 应用场景: 计算总收入、总支出等。
- 示例:
select sum(salary) as total_salary from employees;
avg(column_name)
- 描述: 计算列中所有值的平均值。
- 语法:
avg(column_name)
- 应用场景: 计算平均工资、平均成绩等。
- 示例:
select avg(salary) as average_salary from employees;
max(column_name)
- 描述: 返回列中的最大值。
- 语法:
max(column_name)
- 应用场景: 找出最高工资、最高评分等。
- 示例:
select max(salary) as highest_salary from employees;
min(column_name)
- 描述: 返回列中的最小值。
- 语法:
min(column_name)
- 应用场景: 找出最低工资、最低评分等。
- 示例:
select min(salary) as lowest_salary from employees;
实际应用案例
假设我们有一个名为sales
的表,包含销售记录,包括销售日期和销售额。我们可以使用这些函数来处理数据:
-- 创建一个虚拟的销售表
create table sales (id int auto_increment primary key,sale_date date,amount decimal(10, 2)
);-- 插入一些示例数据
insert into sales (sale_date, amount) values
('2024-11-01', 100.00),
('2024-11-02', 150.00),
('2024-12-01', 200.00);-- 使用日期和时间函数处理数据
select sale_date,date_add(sale_date, interval 1 year) as renewal_date,datediff(curdate(), sale_date) as days_since_sale
from sales;-- 使用聚合函数分析数据
select count(*) as total_sales,sum(amount) as total_amount,avg(amount) as average_sale_amount,max(amount) as max_sale_amount,min(amount) as min_sale_amount
from sales;-- 使用条件函数生成销售状态
select sale_date,amount,case when amount > 200 then 'high'when amount between 100 and 200 then 'medium'else 'low'end as sale_status
from sales;
这段代码展示了如何创建一个简单的销售表,插入一些数据,并使用日期和时间函数来计算续订日期和自销售以来的天数。同时,还展示了如何使用聚合函数来统计销售总数、总金额、平均销售金额、最高和最低销售金额。最后,使用条件函数生成销售状态,帮助快速评估销售表现。
相关文章:
MySQL 内置函数
字符串函数 concat(str1, str2, ...) 描述: 这个函数用于连接两个或多个字符串,返回一个新字符串。语法: concat(str1, str2, ...)注意点: 如果任意一个参数是null,则结果为null。可以连接任意数量的字符串。示例: select concat(first name: , first_…...
【Spring】日志类Logger的使用
在Spring框架中,日志记录是一个重要的组成部分,通常使用不同的日志框架来处理应用程序的日志。Spring 本身并直接提供一个名为Logger 的类,而是通过抽象的日志 API 让开发者能够选择和使用不同的日志实现(如 Log4j、Logback、SLF4…...
动态高优先权优先进程调度
一、实验目的 目的:了解并掌握动态高优先权优先调度算法的理论,掌握动态优先权的设置方式。 任务:模拟实现动态高优先权优先的调度(若数值越大优先权越高,每运行一个时间单位优先权-n,若数值越小优先权越高…...
【Linux SH脚本】LinuxCheck 应急检查信息脚本
LinuxCheck 1.下载地址 【Linux SH脚本】LinuxCheck 应急检查信息脚本 2.简介 LinuxCheck 是一个开源的自动化检查脚本,旨在快速检测 Linux 系统的安全配置和潜在问题。它支持多种发行版,能够扫描并生成详细的报告,涵盖用户管理、权限配置…...
Vue - route路由(router-link、useRoute、useRouter)
为了避免反复在 app.vue 中去修改引入的路径,当用了新的页面,想切换回老页面的时候,都需要去手动改变路径,那么有没有一种可能,可以在一个地方,把这些组件配置好,然后通过不同的路径,…...
【HarmonyOS】鸿蒙应用实现手机摇一摇功能
【HarmonyOS】鸿蒙应用实现手机摇一摇功能 一、前言 手机摇一摇功能,是通过获取手机设备,加速度传感器接口,获取其中的数值,进行逻辑判断实现的功能。 在鸿蒙中手机设备传感器ohos.sensor (传感器)的系统API监听有以下…...
渗透测试工具 -- SQLmap安装教程及使用
随着网络安全问题日益严峻,渗透测试成为了保护信息安全的重要手段。而在渗透测试的众多工具中,SQLmap凭借其强大的自动化SQL注入检测和利用能力,成为了网络安全专家必备的利器。那么,你知道如何高效地使用SQLmap进行漏洞扫描吗&am…...
vue 前端使用fetch实现下载文件跨域
首先配置vite.config.js export default defineConfig({plugins: [vue(),],resolve: {alias: {: /src, // 根据你的项目结构进行设置},},server: {proxy: {/image-proxy: {target: https://你得代理服务器,changeOrigin: true,rewrite: path > path.replace(/^/image-proxy…...
AI与大数据的深度结合:驱动决策的革命性力量
引言:数字时代的决策挑战 在这个信息爆炸的数字时代,数据早已渗透到我们生活的方方面面。全球每天产生的数据量呈指数级增长,无论是用户的消费行为、设备的运行状态,还是社会热点的实时动态,这些信息的规模和复杂性前所…...
搭建C#开发环境
本文记录C#开发环境的搭建过程。 一、Windows系统 二、Ubuntu 运行以下命令安装.NET SDK, sudo add-apt-repository ppa:dotnet/backports sudo apt-get install -y dotnet-sdk-9.0网络资料 Install .NET on Windowshttps://learn.microsoft.com/en-us/dotnet/co…...
Gitlab分支合并及在本地解决冲突
文章目录 问题及解决参考 问题及解决 Gitlab分支合并时碰到了合并冲突的问题,进行了本地解决冲突的操作,并成功进行了合并。 在服务器端的冲突解决比较简单,在此不赘述,这里主要记录下在本地解决冲突的操作。 Gitlab冲突的根本…...
解决 “TypeError: ‘tuple‘ object cannot be interpreted as an integer“ 错误提示
错误背景 这个错误通常出现在期望一个整数时,却传入了一个元组(tuple)。Python 无法将元组解释为整数,因此会抛出 TypeError。 错误示例 python 复制代码 for i in (1, 2, 3): print(range(i)) 运行时会抛出如下错误:…...
OSPF协议
OSPF介绍 OSPF(Open Shortest Path First,开放最短路径优先)是一种用于互联网协议网络的链路状态路由协议。它属于内部网关协议(IGP),主要用于单一自治系统(AS)内部的路由选择。在A…...
前端编辑器JSON HTML等,vue2-ace-editor,vue3-ace-editor
与框架无关 vue2-ace-editor有问题,ace拿不到(brace) 一些组件都是基于ace-builds或者brace包装的 不如直接用下面的,不如直接使用下面的 <template><div ref"editor" class"json-editor"><…...
threejs——无人机概念切割效果
主要技术采用着色器的切割渲染,和之前写的风车可视化的文章不同,这次的切割效果是在着色器的基础上实现的,并新增了很多可调节的变量,兄弟们,走曲儿~ 线上演示地址,点击体验 源码下载地址,点击下载 正文 从图中大概可以看出以下信息,一个由线组成的无人机模型,一个由…...
360极速浏览器不支持看PDF
360安全浏览器采用的是基于IE内核和Chrome内核的双核浏览器。360极速浏览器是源自Chromium开源项目的浏览器,不但完美融合了IE内核引擎,而且实现了双核引擎的无缝切换。因此在速度上,360极速浏览器的极速体验感更佳。 展示自己的时候要在有优…...
Python Turtle 实现动态时钟:十二时辰与星空流星效果
在这篇文章中,我将带你通过 Python 的 turtle 模块构建一个动态可视化时钟程序。这个时钟不仅具备传统的时间显示功能,还融合了中国古代的十二时辰与八卦符号,并通过动态星空、流星效果与昼夜背景切换,为程序增添了观赏性和文化内…...
使用 UniApp 实现简单的个人中心页面
1. 创建 UniApp 项目 首先,确保你已经安装了 HBuilderX 或其他支持 UniApp 的开发工具。然后创建一个新的 UniApp 项目。 # 使用 HBuilderX 创建新项目 # 选择 uni-app 模板 -> 选择 Vue.js 模板 -> 输入项目名称 -> 创建2. 安装依赖 UniApp 内置了一些…...
spring cloud contract http实例
微服务很多时,服务之前相互调用,接口参数的一致性要变得很难维护。 spring cloud contract 提供了测试接口一致性的方法。 一 项目配置 plugins {id "groovy"id "org.springframework.cloud.contract" version "4.0.5"i…...
修改docker源
在/etc/docker/daemon.json文件中写入 { "registry-mirrors": [ "Welcome to nginx!" ] } 执行 systemctl daemon-reload systemctl restart docker docker info能够看到源已经被替换 现在国内能够使用的docker源经过测试只有Welcome to nginx! …...
顺序表的使用,对数据的增删改查
主函数: 3.c #include "3.h"//头文件调用 SqlListptr sql_cerate()//创建顺序表函数 {SqlListptr ptr(SqlListptr)malloc(sizeof(SqlList));//在堆区申请连续的空间if(NULLptr){printf("创建失败\n");return NULL;//如果没有申请成功ÿ…...
【在Linux世界中追寻伟大的One Piece】自旋锁
目录 1 -> 概述 2 -> 原理 3 -> 优缺点及使用场景 3.1 -> 优点 3.2 -> 缺点 3.3 -> 使用场景 4 -> 纯软件自旋锁类似的原理实现 4.1 -> 结论 5 -> 样例代码 1 -> 概述 自旋锁是一种多线程同步机制,用于保护共享资源避免受并…...
信创改造-Spring Boot 项目部署至 TongWeb
打 war 包参考:https://blog.csdn.net/z1353095373/article/details/144330999...
选择WordPress和Shopify:搭建对谷歌SEO友好的网站
在建设网站时,不仅要考虑它的美观和功能性,还要关注它是否对谷歌SEO友好。如果你希望网站能够获得更好的搜索排名,WordPress和Shopify是两个值得推荐的建站平台。 WordPress作为最流行的内容管理系统,其强大的灵活性和丰富的插件…...
Rust之抽空学习系列(二)—— 编程通用概念(上)
Rust之抽空学习系列(二)—— 编程通用概念(上) Rust 作为一门强类型的静态类型语言,会有哪些与生俱来的天赋呢? 1、静态类型语言 vs 动态类型语言 特性静态动态类型检查编译时运行时错误检测执行前执行期…...
《神经网络与深度学习》(邱锡鹏) 内容概要【不含数学推导】
第1章 绪论 基本概念:介绍了人工智能的发展历程及不同阶段的特点,如符号主义、连接主义、行为主义等。还阐述了深度学习在人工智能领域的重要地位和发展现状,以及其在图像、语音、自然语言处理等多个领域的成功应用。术语解释 人工智能&…...
Wireshark如何查看数据包时间间隔
1.如果数据包量不大,抓包本身也不大,建议从绝对时间判断,打开wireshark软件,并点开相应要分析的抓包文件。 进入到最上方菜单<视图>,在弹出菜单选择时间显示格式,再在右侧菜单中选择自捕获经过的秒数。 这样就可…...
ISP和IQ调试(一)
系列文章目录 文章目录 系列文章目录前言一、ISP(image signal process)二、ISP位置三、IQ总结 前言 一、ISP(image signal process) image signal process 图像处理技术 image signal processor 图像信号处理器 设备 什么是图像信号? 代表…...
uniapp改成用vue起项目
目的:让项目按照vue的打包流程跑流水线 1.按照uniapp官网教程执行 2.执行第二条命令时报错 ERROR Failed to get response from true/vue-cli-version-marker 3.解决方式 报错可能跟yarn有关,然后切换成npm 找到自己本地电脑的这个文件 按照截图修…...
java之集合(详细-Map,Set,List)
1集合体系概述 1.1集合的概念 集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,开发中也非常常用。 1.2集合分类 集合分为单列集合和多列集合 Collection代表单列集合,每个元素(数据ÿ…...
利用卷积神经网络进行手写数字的识别
数据集介绍 MNIST(Modified National Institute of Standards and Technology)数据集是一个广泛使用的手写数字识别数据集,常用于机器学习和计算机视觉领域中的分类任务。它包含了从0到9的手写数字样本,常用于训练和测试各种图像…...
Flutter 桌面端串口配置
前言 我使用flutter_libserialport包在macOS中实现串口通信的功能,可以实现数据收发,但是收到的内容是乱码。这种情况一般都是由于波特率和硬件设备不一致导致的。 配置串口配置 1.打开串口读写 import package:flutter_libserialport/flutter_libser…...
Java 的常量池与 String 优化
Java 中的常量池(Constant Pool)是一种内存优化机制,比如字符串常量池: String s1 "Hello"; String s2 "Hello"; System.out.println(s1 s2); // 输出 true,因为指向同一池中的对象但对于使用…...
防范TCP攻击:策略与实践
TCP(传输控制协议)是互联网通信的核心协议之一,它确保了数据在网络上的可靠传输。然而,TCP也容易成为各种网络攻击的目标,如SYN洪水攻击、TCP连接耗尽攻击等。本文将探讨如何通过配置防火墙规则、优化服务器设置以及采…...
单片机:实现呼吸灯(附带源码)
单片机实现呼吸灯详细解读 呼吸灯是一种常见的灯光效果,广泛应用于电子产品、汽车、家居照明等领域。其基本特性是通过逐渐增亮和减弱的方式,使得灯光呈现出“呼吸”的效果,给人一种平缓、舒适的视觉感受。在嵌入式系统中,呼吸灯…...
Android 第三方框架:RxJava:源码分析:责任链模式
文章目录 责任链模式RxJava中的责任链总结 责任链模式 RxJava中的责任链 链式调用的使用过程中形成了两个单向链表 第一个单向链表是Observable链表 它的形成过程: 1.首先调用Observable的静态方法创建第一个Observable对象,作为Observable链表的表…...
基于HTML的个人博客系统的设计与实现
一、前言 随着互联网的飞速发展,人们分享生活、表达观点和展示自我的需求日益增长。个人博客作为一种重要的网络交流平台,为用户提供了便捷的信息发布和分享渠道。它不仅可以记录个人的成长经历、专业知识、兴趣爱好等,还能促进用户之间的互动…...
DMA(Direct Memory Access):直接内存访问
DMA(Direct Memory Access):直接内存访问 一、传统CPU存取数据 CPU不直接存取外设的原因主要有两点: 速度差异:CPU的处理速度远高于外设,无法直接同步。格式多样性:外设数据格式种类繁多&…...
数据分析python小工具录入产品信息到Excel
在没有后台管理系统的时候,有时候为了方便起见,想提供一个输入框让运营人员直接输入,然后数据就会以数据库的形式存进数据库 效果图: 输入用户名 输入数据 输入信息后点击添加到表格,检查后方便批量保存到excel …...
Mac安装brew的终极方法
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"按回车后,根据提示操作: 输入镜像序号(1-5都可以)输入Y,回车等待brew安装完成即可。 M系列芯片亲测有效&#x…...
卷积神经网络比于全连接神经网络强在哪?
卷积神经网络(Convolutional Neural Networks,简称CNN)与全连接神经网络(Fully Connected Neural Networks,简称FFNN)是深度学习和神经网络领域中两种最为常见的网络结构。两者在结构、工作原理及应用场景上…...
Stable Diffusion Controlnet常用控制类型解析与实战课程 4
本节内容,是stable diffusion Controlnet常用控制类型解析与实战的第四节课程。上节课程,我们陆续讲解了几个与图像风格约束相关的控制类型,本节课程我们再学习一些实用价值较高的控制类型,看一看他们提供了哪些控制思路。 一&…...
[ShaderLab] 【Unity】【图像编程】理解 Unity Shader 的结构
在计算机图形学领域,开发者经常面临着管理着色器复杂性的挑战。正如大卫惠勒(David Wheeler)所说:“计算机科学中的任何问题都可以通过增加一层抽象来解决。” Unity 提供了这样一层抽象,即 ShaderLab,它通过组织和定义渲染过程的各个步骤,简化了编写着色器的过程。 什…...
Source Insight的使用经验汇总
01-Add All"和“Add Tree”有何区别? 在 Source Insight 中,“Add All”和“Add Tree”是两种向项目(Project)中添加文件的操作选项,它们的区别在于处理文件和目录的方式不同: 1. Add All 范围&am…...
CentOS 7.9 更换 YUM:解决宝塔安装困境的探索之旅
在进行网站搭建工作时,我满怀期待地准备安装宝塔面板,然而却遭遇了安装失败的挫折。经过一番排查与思考,我将目光聚焦到了系统的 YUM 上,怀疑它可能是导致问题的“罪魁祸首”。于是,我毅然决定对 CentOS 7.9 的 YUM 进…...
28. Three.js案例-创建圆角矩形并进行拉伸
28. Three.js案例-创建圆角矩形并进行拉伸 实现效果 知识点 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染 3D 场景的主要渲染器。 构造器 WebGLRenderer( parameters : Object ) 参数类型描述parametersObject渲染器的配置参数,可选。 …...
最佳实践:编写和配置 Stylelint 自定义插件,Stylelint 自定义规则
前言 在前端开发中,代码质量和一致性是至关重要的。Stylelint 作为一个强大的 CSS 代码检查工具,能够帮助开发者发现代码中的问题,并保持代码风格的一致性。然而,内置的规则和插件有时无法完全满足特定项目的需求。在这种情况下&…...
vscode借助插件调试OpenFoam的正确的.vscode配置文件
正确的备份文件位置: /home/jie/桌面/理解openfoam/正确的调试爆轰单进程案例/mydebugblastFoam 调试爆轰案例流体 并且工作区和用户区都是openfoam-7版本 问题:F5以debug模式启动后不停在断点 解决方法: 这里备份一下.vsode正确的配置&…...
Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪
Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪 发表在IJCV 2023年 作者:Weitao Feng, Lei Bai, Yongqiang Yao, Fengwei Yu & Wanli Ouyang 研究目标:多目标跟踪的帧率无关性研究 IJCV 在计算机视觉领域的影响力非常…...
视频网站中重磅推荐模块(附加源码)
写在开头 上期代码主要实现省市区三级联动效果,开发久了很多功能都是通过框架组件库来完成,但是如果组件满足不了开发需求,还需要开发人员手动封装组件,专门出这样一期文章,通过原生js实现一些特定功能,功能…...