SQL系统函数知识点梳理(Oracle)
这里写目录标题
- 函数
- 系统函数
- 转换函数
- to_date()
- to_char()
- 将数值转换成字符
- 格式
- 添加货币符号
- 将日期转换成字符
- 其他不常用的转换函数
- 字符型函数
- 连接函数
- 大小写转换函数
- 大写转换
- 小写转换
- 首字母大写,其余的小写
- 替换函数
- 去除空格函数
- 截取函数
- 填充函数
- 获取字符长度函数
- 获取字符位置函数
- 数值型函数
- 绝对值函数
- 向上取整,向下取整
- 取余函数
- 四舍五入函数
- 截取函数
- 判断正负函数
- 返回x的y次幂函数
- 日期型函数
- 添加月函数
- 该月最后一天函数
- 间隔月函数
- NEW_TIME()
- NEXT_DAY()
- trunc()
- 日期减法
- 聚合函数(分组函数)
- 开窗函数(分析函数)(窗口函数)--重点
- 其他函数
- 空值替换函数
- 去重
- ==条件判断取值函数==(重点!)
- CASE WHEN
函数
函数是已经封装好的程序,会返回一个值,直接拿来使用就可以了
特点:返回一个值
系统函数
系统函数是已经存在的函数,比如: 聚合函数,转换函数(to_date()函数)。
下面介绍一些常用函数
转换函数
to_date()
to_date(‘目标字符’,‘日期格式’);
功能:将目标字符转换成想要的日期格式
返回:日期
SYSDATE --系统日期
SELECT SYSDATE FROM dual;
to_char()
转换字符函数
to_char(目标数值或日期,[‘格式’])
功能:将数值或者日期按照格式转换成字符
返回:字符
将数值转换成字符
SELECT to_char(123.45) FROM dual //没给格式仅仅将数值转换成了字符。
格式
0 :代表格式,
----当整数位无数字则以0补全,
----当小数位无数字,以0补全,
----当小数位精度不足,则四舍五入,
----当整数位精度不足,则显示成#####
9 :代表格式
----当整数位无数字,则格式不生效(只有此处与0不同)
----当小数位无数字,以0补全,
----当小数位精度不足,则四舍五入,
----当整数位精度不足,则显示成######
以上是格式9的用法,0与9的区别只有第一条的区别不一样。
如果换成0整数位无数字会被0代替。
添加货币符号
$:美元符号
L:当地货币
将日期转换成字符
d-本周的第几天 ==注意:==每周的第几天,美国人是按照星期日开始计算的 所以说星期三是本周的第四天
dd-本月的第几天
ddd-本年的第几天
w-本月的第几周
ww-本年的第几周
mm-本年的第几月
q-本年的第几季(1.1-4.1,4.1-7.1,7.1-10.1,10.1-1.1)
yyyy-年
day-星期几
year-多少年
其他不常用的转换函数
函数名 | 作用 |
---|---|
chartorowid() | 字符串转换为rowid值 |
ROWIDTOCHAR() | rowid值转换成字符串 |
CONVERT() | 字符串语言字符集转换 |
HEXTORAW() | 16进制转换为二进制 |
RAWTOHEX() | 二进制转换为16进制 |
TO_NUMBER() | 字符串转换为数字型 |
TO_MULTI_BYTE() | 半角转换为全角 |
to_single_byte() | 全角转化为半角 |
nls_charset_id() | 字符集名称转为ID |
nls_charset_name() | 字符集ID转换为名称 |
字符型函数
针对字符做处理
连接函数
CONCAT(‘字符1’,‘字符2’)
作用:将字符1和字符2进行拼接,拼接后的结果作字符返回。
返回:字符。
SELECT CONCAT('ABC','def') from dual;
SELECT concat(ename,job) FROM emp;
SELECT concat(ename,sal) FROM emp; //sal是数值类型,注意下面的解释
与 || 的区别
1.CONCAT()里面的参数只有两个。如果连接的字符有三个及以上 ||可以直接拼,而CONCAT()需要用到函数嵌套。
函数嵌套:里层的函数返回的结果成为了外层函数的一部分
2.concat()是函数存在于多个数据库中,但是 || 只能再Oracle数据库中使用。
Oracle数据库会将数值隐性转换成字符。通俗来讲,在Oracle中写出来的数字既是数字也是字符。但是在代码中尽量少或者不要出现隐性转换,因为会效率低。
大小写转换函数
大写转换
UPPER(字符)
作用:将字符变成大写
返回:字符
SELECT UPPER('asAADSsaers一二三ad') From dual;
汉字没有大小之分,如果放入大写字母或者汉字都不会变
小写转换
LOWER(字符)
作用:将字符变成小写
返回:字符
首字母大写,其余的小写
INITCAP(字符)
作用:将字符首字母大写,其余变成小写。
返回:字符
SELECT INITCAP('mkmkADWQdsaMKAdaS') FROM dual;
注意:如果转变的字符中存在空格或者其他符号,被分开的第二段字母首字母同样会大写。
替换函数
REPLACE(目标字符,目标字符中要被替换的部分,替换成的值)
SELECT REPLACE('asdwsc','sdw','哈哈哈哈');
SELECT REPLACE(ename,'a','K'),ename from emp;
REPLACE()可以去空格
SELECT REPLACE('errr errw wad',' ','哈'),REPLACE('errr errw wad',' ','') from dual;
去除空格函数
Trim()
作用:去除字符两侧的空格
返回:字符
SELECT TRIM(' abc def ') FROM dual;
Ltrim():去除左侧空格
Rtrim():去除右侧空格
截取函数
Substr(目标字符,截取位置参数n,[长度参数l])
作用:从第n个位置,截取l个长度。
SELECT ename,SUBSTR(ename,0,2) FROM EMP;
SELECT ename,SUBSTR(ename,-2,2) FROM EMP;//位置可以是负数,-2是指从倒数第二位开始截,截2长度。长度不能为负数
如果不写l参数,默认截取到最后。
1.在这里面 0,1没区别 都是从头开始截取。
2.位置可以是负数,长度必须的大于0;
3.不管位置是不是负数,截取都是从前往后截
练习题:
1)截取字符串’ABCDEF’中的前三个字符
2)截取名字中的前两位字符
3)从名字中的第二位字符开始,截取三位长度
SELECT SUBSTR('ABCDEF',0,3) FROM dual;
SELECT ename,SUBSTR(ename,0,2) FROM emp;
SELECT ename,SUBSTR(ename,2,3) FROM emp;
填充函数
lpad(目标字符,长度l,值)
左右:向目标左侧填充值,使其达到长度L
返回:字符
SELECT LPAD('abc',10,'*');
rpad(目标字符,长度l,值)
左右:向目标右侧填充值,使其达到长度L
返回:字符
SELECT LPAD('abc',10,'*');
获取字符长度函数
length(字符);
作用:返回字符的长度
返回:数值
SELECT LENGTH('sadasfasd') FROM dual;
练习:
1.找出姓名长度是五位 的员工信息
2.查询姓名长度是五位并且首字母是A
3.按照员工姓名长度分组,计算每组的人数,并且按照姓名长度排序。
SELECT * FROM emp WHERE LENGTH(ename)=5;
SELECT * FROM emp WHERE LENGTH(ename)=5 AND ename LIKE'A%';
SELECT * FROM emp WHERE LENGTH(ename)=5 AND SUBSTR(ename,1,1) ='A';.//第二题第二种写法。
SELECT COUNT(1),LENGTH(ename) FROM emp GROUP BY LENGTH(ename) ORDER BY LENGTH(ename);2
//WHERE后面不能用聚合函数,其他函数可以用
获取字符位置函数
INSTR(目标字符,目标字符中要找的字节s,位置参数n,次数参数n1)
作用:在目标字符中,从第n个位置开始找,找到第n1次出现的s,返回s所在目标字符中的位置。
返回:数值
SELECT INSTR('sjakdjkalsjhfasjdjwa','j','3','2') FROM dual;//从第三位开始找,找到j第2次出现的位置
找不到值的时候会返回0;
练习
查找姓名中至少有两个A的员工信息;
查找姓名中正好有两个A的员工信息;
SELECT * FROM emp WHERE INSTR(ename,'A')!=0;
SELECT * FROM emp WHERE INSTR(ename,'A',1,2)!=0 AND INSTR(ename,'A',1,3)=0;
函数名 | 作用 |
---|---|
ASCLL() | 返回字符的ASCII码 |
CHR() | 返回ASCII码为x的字符 |
NLS_LOWER() | 把整个字符串转换成小写 |
NLS_UPPER() | 把整个字符串转换成大写 |
LENGTH() | 返回字符串的长度 |
LENGTHB() | 返回字符串的长度(全角算2字符) |
LTRIM() | 删除左边字符串 |
RTRIM() | 删除右边字符串 |
SOUNDEX() | 字符串语音表示形式 |
TRANSLATE() | 替换子字符 |
数值型函数
绝对值函数
abs(数值)
作用:返回数值的绝对值
返回:数值
SELECT ABS(-516.5),ABS(546),ABS(0) FROM dual;
向上取整,向下取整
向上取整
ceil(整数)
作用:返回离数值较近的较大的整数。
返回:数值
SELECT ceil(1.1),ceil(1.9999),ceil(-1.1) FROM dual;
向下取整
floor(数值)
作用:返回离数值较近的较小的整数。
返回:数值
SELECT floor(1.1),floor(1.9999),floor(-1.1) FROM dual;
取余函数
mod(x,y)
作用:返回x除以y得到的余数
返回:数值
练习:
查询姓名长度是奇数的员工信息
SELECT * from emp where MOD( LENGTH(ename),2)=1;
四舍五入函数
ROUND(数值,[精度p])
作用:将数值按照精度p进行四舍五入
返回:数值
正数时保留到小数点后几位,负数时保留到小数点前几位,0是保留整数。位数不足时不会以0补全。
ROUND(123.45,-1)的结果是120
ROUND(123.45,0)的结果是123
不写精度默认保留整数
截取函数
trunc(数值,[截取精度])
作用:直接截取,不四舍五入
判断正负函数
sign(数值)
作用:判断数值的正负
返回:数值
SELEC SIGN(123.45),sign(-123.45),sign(0) FROM dual;
–
返回x的y次幂函数
power(x,y)
作用:返回x的y次幂
返回:数值
日期型函数
添加月函数
ADD_MONTHS(d1,n1)
作用:返回在日期d1的基础上,再加上n1个月后的新日期
返回:日期
SELECT SYSDATE,add_months(sysdate,3) hz FROM dual;
该月最后一天函数
last_day(d1)
作用:返回日期d1所在月份最后一天的日期。
返回:日期
间隔月函数
months_between(d1,d2)
作用:返回两个日期之间的月数
返回:数值
SELECT SYSDATE,MONTHS_BETWEEN(SYSDATE,TO_DATE('2008/2/3','yyyy/mm/dd')) FROM dual;
如果d1>d2,则返回正数,
如果d2>d1,则返回负数
NEW_TIME()
NEW_TIME(dt1,c1,c2)
【功能】:给出时间dt1在c1时区对应c2时区的日期和时间
【参数】:dt1,d2 日期型
【返回】:日期时间
【参数】:c1,c2对应的 时区及其简写
大西洋标准时间:AST或ADT
阿拉斯加_夏威夷时间:HST或HDT
英国夏令时:BST或BDT
美国山区时间:MST或MDT
美国中央时区:CST或CDT
新大陆标准时间:NST
美国东部时间:EST或EDT
太平洋标准时间:PST或PDT
格林威治标准时间:GMT
Yukou标准时间:YST或YDT
NEXT_DAY()
NEXT_DAY(d1[,c1])
【功能】:返回日期d1在下周,星期几(参数c1)的日期
【参数】:d1日期型,c1为字符型(参数),c1默认为j(即当前 日期)
【参数表】:c1对应:星期一,星期二,星期三……星期日
【返回】:日期
trunc()
trunc(d1[,c1])
【功能】:返回日期d1所在期间(参数c1)的第一天日期
【参数】:d1日期型,c1为字符型(参数),c1默认为j(即当前日期)
【参数表】:c1对应的参数表:
最近0点日期: 取消参数c1或j
最近的星期日:day或dy或d (每周顺序:日,一,二,三,四,五,六)
最近月初日期:month或mon或mm或rm
最近季日期:q
最近年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度)
最近世纪初日期:cc或scc
日期减法
日期减日期等于天数
练习
1.查询出入职日期是当月倒数第三天入职的员工信息
SELECT * FROM emp WHERE last_date(hiredate)-hiredate = 2;
聚合函数(分组函数)
AVG()
SUM()
MAX()
MIN()
COUNT()
等,相信大家用的很熟练。
开窗函数(分析函数)(窗口函数)–重点
未更新
其他函数
空值替换函数
NVL(列名,值)
作用:将该列空值替换成想要的值
SELECT ename,sal,NVL(comm,1) FROM emp;
注意:保证值和前面列的属性一致。
练习,计算每个人的年薪
SELECT ename,sal,comm,(sal+NVL(comm,0) )*12 年薪 FROM emp;
NVL2(列名,值1,值2)
作用:当该列不为空的时候返回值1,为空的时候返回值2.
SELECT ename,comm,NVL2(comm,2,4) FROM emp;
去重
DISTINCT
作用:将查询结果去重
DISTINCT 效率低
/*执行顺序
FROM
WHERE
GROUP BY
HAVING
SELECT
DISTINCT ***
ORDER BY
*/
(不是函数)
条件判断取值函数(重点!)
DECODE(判断目标,目标返回的值1,重新定义值1,目标返回值2,重新定义值2,.......,其他情况定义为)
判断奖金,当奖金时空值的时候,则翻译成没有奖金。当奖金有值的时候翻译成有奖金。
SELECT ename,comm,DECODE(comm,NULL,'没有奖金','有奖金') from emp;
练习:当工资为1000-1999的时候,翻译成工资小于2000,当工资是2000-2999 翻译成小于3000;
SELECT sal,DECODE(floor(sal/1000),1,'工资小于2000',2,'工资小于3000',3,'工资小于4000','工资大于4000');
2. 显示员工姓名 姓名长度,当姓名长度是奇数的时候返回’奇数‘否则返回’偶数‘
SELECT ename,Length(ename),DECODE(MOD(LENGTH(ename),2),1,'奇数',2,'偶数','啊?') FROM emp;
CASE WHEN
写法
CASE WHEN 条件1...... --当满足条件1时THEN 结果1 ----执行结果1WHEN 条件2......THEN 结果2WHEN 条件3......THEN 结果3.....[ELSE 其他结果] ---当不满足以上所有条件,则要执行的结果
END ----结束
练习:当工资为1000-1999的时候,翻译成工资小于2000,当工资是2000-2999 翻译成小于3000;
SELECT ename,sal,CASE WHEN sal>=1000 AND sal<2000THEN '工资小于2000'WHEN sal>=2000 AND sal<3000THEN '工资小于3000'WHEN sal>=3000 AND sal<4000THEN '工资小于4000'ELSE '土豪'END AS "工资情况"FROM emp;
练习:给13季度员工涨薪10%,给24季度员工降薪10%;
SELECT ename,sal,CASE WHEN to_char(hiredate,'q') IN (1,3)THEN sal*1.1WHEN to_char(hiredate,'q') IN (2,4)THEN sal*0.9END AS "薪资变化"
FROM emp;
函数练习题:
--查询当前日期
SELECT SYSDATE FROM DUAL;
--显示员工工资,加上$
SELECT SAL, CONCAT(SAL, 's') FROM EMP;
--将字符串"1980-12-17"转成日期
SELECT TO_DATE('1980-12-17', 'yyyy-mm-dd') FROM DUAL;
--使用case表达式,职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400
SELECT SAL,ENAME,JOB,CASEWHEN JOB = 'ANALYSE' THENSAL + 1000WHEN JOB = 'MANAGER' THENSAL + 800ELSESAL + 400END AS 薪资变化FROM EMP;
--使用decode函数,职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400【oracle专用】
SELECT SAL,JOB,DECODE(JOB, 'ANALYSE', SAL + 1000, 'MANAGER', SAL + 800, SAL + 400) "薪资变化"FROM EMP;
---从今天开始算,下下一个星期三是多少号?(next_day)
SELECT NEXT_DAY(NEXT_DAY(SYSDATE, '星期三'), '星期三') FROM DUAL;
--员工总工资,平均工资,四舍五入,保留小数点后2位
SELECT ROUND(SUM(SAL), 2), ROUND(AVG(SAL), 2) FROM EMP;
--求入职最早员工和入职最晚员工的入职日期
SELECT MIN(TO_CHAR(HIREDATE, 'yyyy')) "最早",MAX(TO_CHAR(HIREDATE, 'yyyy')) "最晚"FROM EMP;
--统计有佣金的员工人数
SELECT COUNT(1), DECODE(COMM, NULL, '无奖金', '有奖金') "有无佣金"FROM EMPGROUP BY DECODE(COMM, NULL, '无奖金', '有奖金');
--按部门求出部门平均工资,且平均工资取整数
SELECT ROUND(AVG(SAL), 0), AVG(SAL), DEPTNO FROM EMP GROUP BY DEPTNO;
--除30号部门外,查询部门平均工资大于1500元的部门
SELECT DEPTNOFROM EMPWHERE DEPTNO <> 30GROUP BY DEPTNO
HAVING AVG(SAL) > 1500;
--显示部门平均工资的最大值
SELECT MAX(AVG(SAL)) FROM EMP GROUP BY DEPTNO;
相关文章:

SQL系统函数知识点梳理(Oracle)
这里写目录标题 函数系统函数转换函数to_date()to_char()将数值转换成字符格式 添加货币符号将日期转换成字符 其他不常用的转换函数 字符型函数连接函数大小写转换函数大写转换小写转换首字母大写,其余的小写 替换函数去除空格函数截取函数填充函数获取字符长度函数…...

面试突击---MySQL索引
面试突击---MYSQL索引 面试表达技巧:1、谈一下你对于mysql索引的理解?(为什么mysql要选择B树来存储索引)2、索引有哪些分类?3、聚簇索引与非聚簇索引4、回表、索引覆盖、最左匹配原则、索引下推(1ÿ…...
关注 | 我国已对百种产品实施强制性产品认证
市场监管总局在7日举行的新闻发布会上介绍,该局日前发布《市场监管总局关于对商用燃气燃烧器具等产品实施强制性产品认证管理的公告》,对具有较高安全风险的商用燃气燃烧器具、阻燃电线电缆、电子坐便器、电动自行车乘员头盔、可燃气体探测报警产品、水性…...

虚幻引擎架构自动化及蓝图编辑器高级开发进修班
课程名称:虚幻引擎架构自动化及蓝图编辑器高级开发进修班 课程介绍 大家好 我们即将推出一套课程 自动化系统开发。 自动化技术在项目开发的前中后期都大量运用。如何您是一家游戏公司,做的是网络游戏,是不是经常会遇到程序员打包加部署需…...

Weakly Supervised Audio-Visual Violence Detection 论文阅读
Weakly Supervised Audio-Visual Violence Detection 论文阅读 摘要III. METHODOLOGYA. Multimodal FusionB. Relation Modeling ModuleC. Training and Inference IV. EXPERIMENTSV. CONCLUSION阅读总结 文章信息: 发表于:IEEE TRANSACTIONS ON MULTIME…...
华为海思数字芯片设计笔试第六套
声明 下面的题目作答都是自己认为正确的答案,并非官方答案,如果有不同的意见,可以评论区交流。 这些题目也是笔者从各个地方收集的,感觉有些题目答案并不正确,所以在个别题目会给出自己的见解,欢迎大家讨论…...

重绘和重排:概念、区别和应用示例
还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…...

创建k8s deploy yaml文件的imagePullSecrets语句
镜像仓库是harbor kubectl create secret docker-registry key --docker-server192.168.0.190 --docker-usernameadmin --docker-passwordHarbor12345...

大模型预测结果导入到Doccano,人工修正预测不准的数据
背景 使用大语言模型做实体识别的实验时,发现大模型关于实体的边界预测一直不准。 主要原因在于当时找了很多同学标注数据,由于不同组同学关于实体的边界没有统一,故导致数据集中实体边界也没统一。 (找太多人标,会有…...
python三方库_ciscoconfparse学习笔记
文章目录 介绍使用基本原理父子关系 属性ioscfg 获取配置信息,返回列表is_config_line 判断是否是配置行is_intf 判断IOSCfgLine是不是interfaceis_subintf 判断IOSCfgLine是不是子接口lineage 不知道用法is_ethernet_intf 判断IOSCfgLine是否是以太网接口is_loopback_intf 判断…...

HDFS详解(Hadoop)
Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)是 Apache Hadoop 生态系统的核心组件之一,它是设计用于存储大规模数据集并运行在廉价硬件上的分布式文件系统。 1. 分布式存储: HDFS 将文件分割成若干块…...

python创建word文档并向word中写数据
一、docx库的安装方法 python创建word文档需要用到docx库,安装命令如下: pip install python-docx 注意,安装的是python-docx。 二、使用方法 使用方法有很多,这里只介绍创建文档并向文档中写入数据。 import docxmydocdocx.Do…...

MongoDB的安装配置及使用
文章目录 前言一、MongoDB的下载、安装、配置二、检验MongoDB是否安装成功三、Navicat 操作MongoDB四、创建一个集合,存放三个文档总结 前言 本文内容: 💫 MongoDB的下载、安装、配置 💫 检验MongoDB是否安装成功 ❤️ Navicat 操…...
Go学习路线
Go学习路线 文章目录 Go学习路线入门阶段一、Go基础和Goland的安装二、学习日志文件及配置文件三、学习mysql四、html,css,js快速入门五、写一个简单的前后端分离的记事本项目六、Linux快速入门七、Docker快速入门八、Git命令快速入门九、使用Docker打包…...

安全大脑与盲人摸象
21世纪是数字科技和数字经济爆发的时代,互联网正从网状结构向类脑模型进行进化,出现了结构和覆盖范围庞大,能够适应不同技术环境、经济场景,跨地域、跨行业的类脑复杂巨型系统。如腾讯、Facebook等社交网络具备的神经网络特征&…...

如何使用Git-Secrets防止将敏感信息意外上传至Git库
关于Git-Secrets Git-secrets是一款功能强大的开发安全工具,该工具可以防止开发人员意外将密码和其他敏感信息上传到Git库中。 Git-secrets首先会扫描提交的代码和说明,当与用户预先配置的正则表达式模式匹配时,便会阻止此次提交。该工具的优…...

Day 14 网络协议
常见网络设备:交换机 路由器 中继器 多协议网关(路由器的前身) 交换机:用于连接统一网络的设备,实现内网设备通信。 从广义上分为:局域网交换机,广域网交换机 从网络构成分为:接…...

msyql中SQL 错误 [1118] [42000]: Row size too large (> 8126)
场景: CREATE TABLE test-qd.eqtree (INSERT INTO test.eqtree (idocid VARCHAR(50) NULL,sfcode VARCHAR(50) NULL,sfname VARCHAR(50) NULL,sfengname VARCHAR(50) NULL,…… ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_general_ci;或 alter table eqtre…...

实验六 智能手机互联网程序设计(微信程序方向)实验报告
实验目的和要求 请完成创建图片库应用,显示一系列预设的图片。 提供按钮来切换显示不同类别的图片。 二、实验步骤与结果(给出对应的代码或运行结果截图) 1.WXML <view> <button bindtap"showAll">所有图片</but…...

Linux环境下,让Jar项目多线程部署成为可能
欢迎来到我的博客,代码的世界里,每一行都是一个故事 Linux环境下,让Jar项目多线程部署成为可能 前言背景介绍使用sh脚本实现使用systemd来实现使用docker-compose实现 前言 在当今互联网时代,应用程序的高可用性和性能是至关重要…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...