Mysql内置函数全解析——Mysql初级(三)

2023-11-17

一、前言:

在关系型数据库使用的过程中,我们总会对DB里面的数据做各种不同形式的转换,字符串处理等基本操作。本文将会比较系统的学习总结Mysql中的各种内置函数。这是一个系列的文章,感兴趣的小伙伴可以关注一下哦!

本文的行文思路是这样的,因为Mysql的内置函数主要分以下几个部分:

1、数学函数:这类函数只要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数、获取随机数函数等。

2、字符串函数:这类函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母变成小写或大写字母的函数、获取子串的函数等。

3、日期和时间函数:这类函数主要用于处理日期和时间。其中包括取当前时间的函数、获取当前日期的函数、返回年份的函数、返回日期的函数等。

4、流程函数:这类函数主要用于在SQL语句中控制条件选择。其中包括IF语句、CASE语句、WHEN语句等。

5、系统信息函数:这类函数主要用于获取mysql数据库的系统信息。其中包括获取数据库名的函数、获取当前用户的函数、获取数据库版本的函数等。

6、加密函数:这类函数主要用于对字符串进行加密解密。其中包括字符串加密函数、字符串解密函数等。
其他函数:包括格式化函数、锁函数等。

本文会按照函数介绍以及例子解析的方式分析,请大家拭目以待吧。

 

系列文章思维导图


1、数学函数:

这类函数只要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数、获取随机数函数等。

(1)、ABS(X):

返回X的就绝对值。

-- 1、数学函数ABS(X)
SELECT ABS(11) AS a,ABS(-12) AS b, ABS(-140.1) AS c;

(2)、CEIL(x),CEILING(x):

返回大于或等于x的最小整数(向上取整)。

-- CEIL(x),CEILING(x):返回大于或等于x的最小整数(向上取整)
SELECT CEIL(12.5) AS a,CEIL(-12.6) AS b, CEIL(12.4) AS c, CEILING(14.3) AS d,CEILING(15.6) AS e,CEILING(-13.6) AS f;

CEIL(x)函数是返回一个大于运算数的最小整数,和Mysql中的四舍五入是有区别的,在使用的过程中 千万不要混淆。CEILING(x)函数返回一个等于最大运算数X的最小整数。注意: 这两个函数都是向上取整的。例如当执行函数CEIL(12.6),CEIL(12.1)的时候他们都会返回13,因为向上取整的缘故。

(3)、FLOOR(x)  

 返回小于或等于x的最大整数(向下取整

-- FLOOR(x)    返回小于或等于x的最大整数(向下取整)
SELECT FLOOR(11.5) AS a, -- 11
FLOOR(-11.5) AS b ,-- -12
FLOOR(12.9) AS c -- 12

(4)、RAND()

返回0~1的随机数

-- RAND()  返回0~1的随机数
SELECT 
RAND() As a,
RAND() AS b,
RAND() AS c;

(5),RAND(x)

返回0~1的随机数,x值相同时返回的随机数相同(也就是运算数X是同一个数时,返会的随机数也会是相同的)。例如: RAND(1) = RAND(1)。以下会用例子来阐述这一点。

-- RAND(x) 返回0~1的随机数,x值相同时返回的随机数相同
SELECT 
RAND(1) As a,
RAND(1) As a,
RAND(2) AS b,
RAND(3) AS c;

(6)、 SIGN(x)

返回x的符号,x是负数、0、正数分别返回-1、0、1

-- SIGN(x) 返回x的符号,x是负数、0、正数分别返回-1、0、1
SELECT
SIGN(10) AS a,
SIGN(-10) AS b,
SIGN(0) AS c,
SIGN(-12.11) AS d;

(7)、PI()

返回圆周率。

-- PI()    返回圆周率
SELECT PI(); -- 保留6位数的圆周率

(8)、TRUNCATE(x,y)

返回数值x保留到小数点后y位的值

-- TRUNCATE(x,y)   返回数值x保留到小数点后y位的值
SELECT 
	TRUNCATE(11.123456789,4) AS a,
	TRUNCATE(12.123000233,9) As b,
	TRUNCATE('1234.12345',5) AS c;

(9)、 ROUND(x)

返回离x最近的整数(四舍五入

-- ROUND(x)    返回离x最近的整数(四舍五入)
SELECT 
	ROUND(12.123) AS a, -- 12
	ROUND(12.511) As b, -- 13
	ROUND(11.6) AS c, -- 12
	ROUND(-12.123) AS a1, -- 12
	ROUND(-12.511) As b1, -- 13
	ROUND(-11.6) AS c1;  -- 12

(10)、ROUND(x,y)

保留x小数点后y位的值,但截断时要四舍五入

-- ROUND(x,y)  保留x小数点后y位的值,但截断时要四舍五入
SELECT 
	ROUND(12.123,2) AS a, -- 12.12
	ROUND(12.515,2) As b, -- 12.52
	ROUND(11.613,2) AS c, -- 11.61
	ROUND(-12.123,2) AS a1, -- -12.12
	ROUND(-12.511,2) As b1, -- -12.51
	ROUND(-11.6,2) AS c1;  -- -11.60

 

(11)、POW(x,y),POWER(x,y)

返回xy次方。

-- POW(x,y),POWER(x,y) 返回x的y次方
SELECT 
POW(2,3) AS a, -- 8
POW(2,4) AS b, -- 16
POW(2,5) AS c, -- 32
POWER(2,3) AS a, -- 8
POWER(2,4) AS b, -- 16
POWER(2,5) AS c -- 32
;

(12)、SQRT(x)

返回x的平方根,PS,负数是没有平方根的。

-- SQRT(x) 返回x的平方根

SELECT
	SQRT(9) AS a,
	SQRT(32) As b,
	SQRT(11) AS c,
	SQRT(-12) AS d;

(13),EXP(x)

返回e的x次方。

-- EXP(x)  返回e的x次方
SELECT
	EXP(12) AS a,
	EXP(2) AS b,
	EXP(1) AS c ;

(14)、MOD(x,y)

返回x 除以y以后的余数,也就是取余操作。

-- MOD(x,y)    返回x 除以y以后的余数
SELECT
	MOD(12,5) AS a ,-- 2
	MOD(12,6) AS b ,-- 0
	MOD(12,12) AS c -- 0

 

(15)、 LOG(x)

返回自然对数(以e为底的对数)。

-- LOG(x)  返回自然对数(以e为底的对数)

SELECT
	LOG(10) AS a,
	LOG(11) AS b,
	LOG(13) AS c;

 

(16)、LOG10(x)

返回以10为底的对数。

-- LOG10(x)    返回以10为底的对数
SELECT 
LOG10(10) AS a,
LOG10(100) AS b,
LOG10(101) AS c

(17)、RADIANS(x)

将角度转换为弧度。

-- RADIANS(x)  讲角度转换为弧度
SELECT 
RADIANS(30) AS a,
RADIANS(60) AS b,
RADIANS(90) AS c;

(18)、DEGREES(x)

将弧度转换为角度。

-- DEGREES(x)  讲弧度转换为角度
SELECT 
DEGREES(0.5235987755982988) AS a,
DEGREES(1.0471975511965976) AS b,
DEGREES(1.5707963267948966) AS c;

 

(19)、SIN(x)

求正弦值。

-- SIN(x)  求正弦值
SELECT
	SIN(100) AS a,
	SIN(-120) AS b,
	SIN(10) AS c;

(20)、ASIN(x)

求反正弦值。

-- ASIN(x) 求反正弦值
SELECT
	ASIN(0.12) AS a,
	ASIN(0.2) AS b,
	ASIN(-0.12) AS c;

(21)、COS(x)

求余弦值

 

(22)、ACOS(x)

求反余弦值

 

(23)、TAN(x)

求正切值

 

(24)、ATAN(x),ATAN(x,y)

求反正切值

 

(25)、COT(x)

求余切值

2、字符串操作函数

这类函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母变成小写或大写字母的函数、获取子串的函数等。

(1),CHAR_LENGTH(s)

返回字符串s的【字符数】

-- CHAR_LENGTH(s) 返回字符串s的【字符数】
SELECT 
	CHAR_LENGTH('hello world');

 

(2),LENGTH(s)

返回字符串s的【长度】

 

(3),CONCAT(s1,s2,.....)

将字符串s1,s2等多个字符串合并为一个字符串

 

(4),CONCAT_WS(x,s1,s2,....)

同COUCAT(s1,s2,.....),但是每个字符串之间要加上x

 

(5),INSERT(s1,x,len,s2)

将字符串s2替换s1的x位置开始长度为len的字符串

 

(6),UPPER(s),UCASE(s)

将字符串s的所有字符都变成大写字母

 

(7),LOWER(s),LCASE(s)

讲字符串s的所有字符都变成小写字母

 

(8),LEFT(s,n)

返回字符串s的前n个字符

 

(9),RIGHT(s,n)

返回字符串s的后n个字符

 

(10),LPAD(s1,len,s2)

字符串s2来填充s1的开始处,使字符串长度达到len

 

(11),RPAD(s1,len,s2)

字符串s2来填充s1的结尾处,使字符串长度达到len

 

(12),LTRIM(s)

去掉字符串s开始处的空格

 

(13),RTRIM(s)

去掉字符串s结尾处的空格

 

(14),TRIM(s)

去掉字符串s开始处和结尾处的空格

 

(15),TRIM(s1 FROM s)

去掉字符串s中开始处和结尾处的字符串s1

 

(16),REPEAT(s,n)

将字符串s重复n次

 

(17),SPACE(n)

返回n个空格

 

(18),REPLACE(s,s1,s2)

用字符串s2代替字符串s中的字符串s1

 

(19),STRCMP(s1,s2)

比较字符串s1和s2(返回值-1,0,1)

 

(20),SUBSTRING(s,n,len)

获取从字符串s中的第n个位置开始长度为len的字符串

 

(21),MID(s,n,len)

同SUBSTRING(s,n,len)

 

(22),POSITION(s1 IN s)

从字符串s中获取s1的开始位置

 

(23),INSTR(s,s1)

从字符串s中获取s1的开始位置

 

(24),REVERSE(s)

将字符串s的顺序反过来

 

(25),ELT(n,s1,s2...)

返回第n个字符串,没有则返回NULL

 

(26),FIELD(s,s1,s2...)

返回第一个与字符串s匹配的字符串的位置

 

(27),FIND_IN_SET(s1,s2)

返回在字符串s2中与s1匹配的字符串的位置

 

3、时间,日期处理函数

这类函数主要用于处理日期和时间。其中包括取当前时间的函数、获取当前日期的函数、返回年份的函数、返回日期的函数等。

(1)、CURDATE(),CURRENT_DATE()

返回当前日期(yyyy-mm-dd)

-- CURDATE(),CURRENT_DATE()    返回当前日期(yyyy-mm-dd)
SELECT
CURDATE() AS a,CURRENT_DATE() AS b   -- 返回当前日期(yyyy-mm-dd)

(2)、CURTIME(),CURRENT_TIME()

返回当前时间(hh:mm:ss)

-- CURTIME(),CURRENT_TIME()    返回当前时间(hh:mm:ss)
SELECT
	CURTIME() AS a ,CURRENT_TIME() AS b; --   返回当前时间(hh:mm:ss)

(3)、NOW(),CURRENT_TIMESTAMP()

返回当前的完整时间。

-- NOW(),CURRENT_TIMESTAMP()
select NOW(),CURRENT_TIMESTAMP();

(4)、LOCALTIME(),SYSDATE()

返回本地时间。

-- LOCALTIME(),SYSDATE()
SELECT LOCALTIME(),SYSDATE();

 

(5)、LOCALTIMESTAMP()

(3),(4),(5)返回当前日期和时间(yyyy-mm-dd hh:mm:ss),这几个函数作用相同

 

(6)、UNIX_TIMESTAMP()

以UNIX时间戳的形式返回当前时间

 

(7)、UNIX_TIMESTAMP(d)

将时间d以UNIX时间戳的形式返回

 

(8)、FROM_UNIXTIME(d)

把UNIX时间戳的时间转换为普通格式的时间

 

(9)、UTC_DATE()

返回UTC(国际协调时间)日期

 

(10)、UTC_TIME()

返回UTC时间(Asia/Shanghai时区-8h)

 

(11)、MONTH(d)

返回日期d中的月份值,范围是1~12

 

12)、MONTHNAME(d)

返回日期d中的月份名称,如january

 

13)、DAYNAME(d)

返回日期d是星期几,如Monday

 

(14)、DAYOFWEEK(d)

返回日期d是星期几,1表示星期日,2表示星期2

 

15)、WEEKDAY(d)

返回日期d是星期几,0表示星期一,1表示星期2

 

(16)、WEEK(d)

计算日期d是本年的第几个星期,范围是0-53

 

(17)、WEEKOFYEAR(d)

计算日期d是本年的第几个星期,范围是1-53

 

18)、DAYOFYEAR(d)

计算日期d是本年的第几天

 

(19)、DAYOFMONTH(d)

计算日期d是本月的第几天

 

(20)、YEAR(d)

返回日期d中的年份值

 

21)、QUARTER(d)

返回日期d是第几季度,范围1-4

 

(22)、HOUR(t)

返回时间t中的小时值

 

(23)、MINUTE(t)

返回时间t中的分钟值

 

(24)、SECOND(t)

返回时间t中的秒钟值

 

25)、EXTRACT(type FROM d)

从日期d中获取指定的值,type指定返回的值,如YEAR,HOUR等

 

(26)、TIME_TO_SEC(t)

将时间t转换为秒,从00:00:00开始到t的秒数

 

(27)、SEC_TO_TIME(s)

将以秒为单位的时间s转换为时分秒的格式

 

(28)、TO_DAYS(d)

计算日期d到0000年1月1日的天数

 

(29)、FROM_DAYS(n)

计算从0000年1月1日开始n天后的日期

 

(30)、DATEDIFF(d1,d2)

计算日期d1到d2之间相隔的天数

 

(31)、ADDDATE(d,n)

计算开始日期d加上n天的日期

 

(32)、ADDDATE(d, INTERVAL expr type)

计算起始日期d加上一个时间段后的日期

 

(33)、SUBDATE(d,n)

计算起始日期d减去n天的日期

 

(34)、SUBDATE(d, INTERVAL expr type)

计算起始日期d减去一个时间段后的日期

 

(35)、ADDTIME(t,n)

计算起始时间t加上n秒的时间

 

(36)、SUBTIME(t,n)

计算起始时间t减去n秒的时间

 

(37)、DATE_FORMAT(d,f)

按照表达式f的要求显示日期d

 

(38)、TIME_FORMAT(t,f)

按照表达式f的要求显示时间t

 

(39)、GET_FORMAT(type,s)

根据字符串s获取type类型数据的显示格式

 

4、条件判断函数(流程函数)

这类函数主要用于在SQL语句中控制条件选择。其中包括IF语句、CASE语句、WHEN语句等。这类函数尤其在存储过程中使用的比较普遍。

(1)、【IF(expr,v1,v2)函数】

IF(expr,v1,v2)函数中,如果表达式expr成立,返回结果v1,否则,返回结果v2。

(2)、【CASE函数】

CASE WHEN expr1 THEN v1 [WHEN expr2 THEN v2...][ELSE vn] END

 

5、系统信息函数:

这类函数主要用于获取mysql数据库的系统信息。其中包括获取数据库名的函数、获取当前用户的函数、获取数据库版本的函数等。

(1)、VERSION()

返回数据库的版本号

 

(2)、CONNECTION_ID()

返回服务器的连接数,也就是到现在为止mysql服务的连接次数

 

(3)、DATABASE(),SCHEMA()

返回当前数据库名

 

(4)、USER()

返回当前用户的名称

 

(5)、CHARSET(str)

返回字符串str的字符集

 

(6)、COLLATION(str)

返回字符串str的字符排列方式

(7)、LAST_INSERT_ID()

返回最后生成的auto_increment值

-- 
-- VERSION()   返回数据库的版本号
-- CONNECTION_ID() 返回服务器的连接数,也就是到现在为止mysql服务的连接次数
-- DATABASE(),SCHEMA() 返回当前数据库名
-- USER()  返回当前用户的名称
-- CHARSET(str)    返回字符串str的字符集
-- COLLATION(str)  返回字符串str的字符排列方式
-- LAST_INSERT_ID()    返回最后生成的auto_increment值

SELECT 
	VERSION() AS b,
	CONNECTION_ID() AS a,
	DATABASE(),SCHEMA(),
USER(),
CHARSET('str'),
COLLATION('123')

 

6、加密解密函数

这类函数主要用于对字符串进行加密解密。其中包括字符串加密函数、字符串解密函数等。

(1)、PASSWORD(str)

对字符串str进行加密

 

(2)、MD5(str)

对字符串str进行加密

 

(3)、ENCODE(str,pswd_str)

使用字符串pswd_str来加密字符串str,加密结果是一个二进制数,必须使用BLOB类型来保持它

(4)、DECODE(crypt_str,pswd_str)

解密函数,使用字符串pswd_str来为crypt_str解密

 

7、其他函数:

包括格式化函数、锁函数等。

(1)、FORMAT(x,n) 格式化函数,

可以将数字x进行格式化,将x保留到小数点后n位,这个过程需要进行四舍五入。

 

(2)、ASCII(s)

返回字符串s的第一个字符的ASSCII码

 

(3)、BIN(x)

返回数字x的二进制编码

 

(4)、HEX(x)

返回数字x的十六进制编码

 

(5)、OCT(x)

返回数字x的八进制编码

 

6)、CONV(x,f1,f2)

将x从f1进制数变成f2进制数conv(100000,2,16)=20

 

(7)、INET_ATON(IP)

将IP地址转换为数字表示,IP值需要加上引号

 

(8)、INET_NTOA(n)

可以将数字n转换成IP的形式

 

(9)、GET_LOCT(name,time)

加锁函数,定义一个名称为name、持续时间长度为time秒的锁,如果锁定成功,返回1,如果尝试超时,返回0,如果

 

(10)、RELEASE_LOCK(name)

解除名称为name的锁,如果解锁成功,返回1,如果尝试超时,返回0,如果解锁失败,返回NULL。

 

(11)、IS_FREE_LOCK(name)

判断是否使用名为name的锁,如果使用,返回0,否则返回1

 

(12)、CONVERT(s USING cs)

将字符串s的字符集变成cs

(13)、CAST(x AS type),CONVERT(x,type)

这两个函数将x变成type类型,这两个函数只对BINARY,CHAR,DATE,DATETIME,TIME,SIGNED INTEGER,UNSIGNED INTEGER这些类型起作用,但这两种方法只是改变了输出值得数据类型,并没有改变表中字段的类型。

 

PS: 有兴趣的小伙伴可以看看Mysql的官方文档关于内置函数的描述。https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql内置函数全解析——Mysql初级(三) 的相关文章

  • PCB阻焊层太近了会不会有问题?

    绘制pcb双层板 进行DCR检查 发现如下报错 于是回到pcb的界面去查看 原来是我的组焊层靠的很近 小于规则的6mil 这个报错有必要修改嘛 规则的设置如下 最小组焊层裂口是6mil 但是封装就是官网上下载下来的 是芯片封装引脚的问题 过
  • AttemptID:attempt_1557891872692_0001_r_000000_0 Timed out after 3600 secs

    背景 做kylin 的时候 执行了 hive的命令 是hive数据的重新分布 结果在reduce的时候阻塞了 查看原因为 AttemptID attempt 1557891872692 0001 r 000000 0 Timed out a
  • 公有云、私有云、混合云

    云的部署方式有很多种 如公有云 私有云 混合云等 部署在云上的SaaS主要分为公有云SaaS和私有云SaaS 行业主流的SaaS部署模式是公有云SaaS 私有云部署模式 适用于某些有特殊要求的行业和企业业务 要求有较大的私有化和定制化空间的
  • python case when用法_SQL之CASE WHEN用法详解

    简单CASE WHEN函数 CASE SCORE WHEN A THEN 优 ELSE 不及格 END CASE SCORE WHEN B THEN 良 ELSE 不及格 END CASE SCORE WHEN C THEN 中 ELSE
  • angular蚂蚁_angular4 调用api

    angular2 问题请教 angular2 通过http服务进行对后端api的远程调用 我简单的尝试了一下 发现了几个问题 记录一下 以方便查找问题 angular2 http服务的跨域问题 跨域本身就是一个很复杂的问题 angular2
  • 剑指 Offer 27. 二叉树的镜像 -- 递归

    0 题目描述 leetcode原题链接 剑指 Offer 27 二叉树的镜像 1 递归算法 根据二叉树镜像的定义 考虑递归遍历 d f s mathrm dfs dfs 二叉树 交换每个节点的左 右子节点 即可生成 二叉树的镜像 递归解析
  • Qt入门-文本框类QLineEdit和QTextEdit

    QLineEdit是单行文本框 QTextEdit是多行文本框 1 单行文本框QLineEdit 常用的方法和属性 a 获取和设置文本对齐方式 Qt Alignment alignment const void setAlignment Q
  • MT6739的Android9.0 Camera kernel 驱动

    文章目录 Kernel 层驱动的实现 Camera 开机流程 Camera 驱动的文件结构 Camera 驱动初始化流程 Camera 入口函数 imgsensor init 注册的平台驱动结构体 gimgsensor platform d
  • Linux文本处理工具和正则表达式

    Linux文本处理工具和正则表达式 一 查看 截取和修改文本的工具 1 查看文本的工具 cat 最常用的文件查看命令 当不指明文件或者文件名为一杠 时 读取标准输入 cat OPTION FILE A 显示所有控制符 tab键 I 行结束符
  • 用户变量与系统变量的区别

    用户变量仅对当前用户生效 若有其他用户登录 对其无效 系统变量对所有用户生效 其中 引用已经设置的其他环境变量 使用 变量名 如 MyJAVA PATH C JAVA TheBin MyJAVA PATH Bin 那么 TheBin实际为
  • 电脑调分辨率黑屏了怎么办_电脑屏幕分辨率调节失败的解决方法

    在之前 我们讲到了电脑屏幕分辨率的问题 更加自己电脑的尺寸 来调节出最合适的屏幕分辨率 但有些网友在反映到电脑屏幕分辩率调了却没有反映 遇到这样的情况 我们该如何解决 电脑屏幕分辨率 调节分辨率的三种方法 方法一 右键单击桌面空白处 选择
  • 在linux中如何创建进程,如何在Linux中创建进程?

    加载到内存中并执行的程序称为进程 简单来说 一个进程就是一个正在执行的程序 让我们检查一下如何在Linux中创建进程 可以通过fork 系统调用创建一个新进程 新进程包含原始进程的地址空间的副本 fork 从现有流程创建新流程 现有进程称为
  • Springmvc3+Spring3+Freemarker整合异常

    Springmvc3 Spring3 Freemarker整合异常 提示缺少ui等类 主要异常信息如下 org springframework beans factory BeanCreationException Error creati
  • INFO zookeeper.ClientCnxn: Opening socket connection to server***/192.168.80.151:2181. Will not

    at org apache zookeeper ClientCnxnSocketNIO doTransport ClientCnxnSocketNIO java 361 at org apache zookeeper ClientCnxn
  • win10查看端口号是否被占用及解除占用的常用命令

    netstat ano 查看所有端口号占用情况 netstat ano findstr XXX 查看端口号为XXX的占用情况 如下 得到进程号为12160的进程正在占用本地的9090端口号 如果只是想释放9090端口到这一步就可以了 我们可
  • JDBC操作

    在IDEA中用java中驱动数据库 并使用Java语言操作数据库 10 1 数据库驱动 驱动 比如 声卡 显卡 数据库 我们的程序会通过数据库驱动和数据库打交道 10 2 JDBC sun公司为了简化开发人员的 对数据库的统一 操作 提供了
  • 我零基础,非计算机专业,想快速学习一门编程语言可行吗?

    都说要真正掌握一门编程语言 是件很困难的事情 尤其对于初学者而言 这话说的的确有几分道理 但其实学习编程语言的难度也并没有大多数人想的那么大 因为每个人学习会因为多种因素而有所不同 例如个人学习能力 学习背景 学习时间 编程语言本身等等 首
  • 什么是归纳偏置

    首先给出百度百科的定义 当学习器去预测其未遇到过的输入的结果时 会做一些假设 Mitchell 1980 而学习算法中归纳偏置则是这些假设的集合 是指在学习算法之初就通过人为偏好 将某一种解决方案优先于其他解 这既可以包含在底层数据分布假设
  • python实现对LabelImg标注的xml文件修改其标签名字

    使用labelImg标注数据时 通过python批量修改已经标注的数据标签名字 例如 本程序将标注生成的xml文件中的目标名字 zero 批量修改为 num 示例程序如下 通过解析xml文件 批量修改xml文件里的标签名称 比如把标签zer

随机推荐

  • NodeMcu arduino ESP8266WIFI 模块 例程 WIFIClienBasic(TCP服务器发送信息)

    NodeMcu arduino ESP8266WIFI 模块 WIFIClienBasic TCP服务器发送信息 流程 配置连接网络 发送TCP请求 获取接受数据打印 This sketch sends a string to a TCP
  • 【机器学习】LSTM 讲解

    2 LSTM 2 1 长期依赖问题 标准 RNN 结构在理论上完全可以实现将最初的信息保留到即使很远的时刻 但是在实践中发现 RNN 会受到短时记忆的影响 如果一条序列足够长 那它们将很难将信息从较早的时刻传送到后面的时刻 因此 如果正在尝
  • linux内核的构建系统,技术

    介绍 我不会告诉你怎么在自己的电脑上去构建 安装一个定制化的 Linux 内核 这样的资料太多了 它们会对你有帮助 本文会告诉你当你在内核源码路径里敲下make 时会发生什么 当我刚刚开始学习内核代码时 Makefile 是我打开的第一个文
  • pandas里面时间戳转时间to_datetime注意unit

    Using pandas to datetime with timestamps 遇到在pandas里面时间戳转时间的问题 把查到的答案记录在这里 主要注意to datetime函数里面的单位unit默认是毫秒ms 而非秒 而一般的10位时
  • [NAS]AutoML: A Survey of the State-of-the-Art

    AutoML A Survey of the State of the Art 自动机器学习 无需人类辅助自动进行机器学习 Abstract 本文根据AutoML的处理流程来对自动机器学习进行介绍 包括 数据准备 特征工程 超参数优化和神经
  • c++STL容器vector的复制

    将一个vector复制到另一个vector中 将一个vector v1 复制到另一个vector v2 中有两种方法 我知道的两种 囧 1 v2 v1 2 v2 assign v1 begin v1 end 两种方法的效果是一样的 vect
  • C++语言学习日志2.26

    初入C 跟C语言很多都很相似 主要从不同之处学习 1 I O流控制 流是一种抽象概念 他代表了数据的无结构化传递 按照流的方式进行输入输出 数据被当成无结构的字节序或字符序列 从流中取得数据的操作称为提取操作 而向流中添加数据的操作称为插入
  • 面试必问的MySQL锁与事务隔离级别

    之前多篇文章从mysql的底层结构分析 sql语句的分析器以及sql从优化底层分析 还有工作中常用的sql优化小知识点 面试各大互联网公司必问的mysql锁和事务隔离级别 这篇文章给你打神助攻 一飞冲天 锁定义 锁是计算机协调多个进程或线程
  • centos中apache使用教程

    一 安装Apache服务 1 检查是否安装了Apache服务器软件 rpm qa grep i httpd 2 查看apache2的命令 httpd V 3 停止和重启apache 其中HTTPD ROOT和SERVER CONFIG FI
  • 怎么成为一个软件架构师

    的确没想到随手写的东西有那么多的回复 不管怎样还是挺高兴的 在这里谢谢大家的关注了 其实做了这么多年的技术脑子里总会跳出很多的想法 但很少有时间静下来仔细地思考思考 写写博客也算是一种自我归纳和总结吧 软件架构师 这个名词也不知是什么时候进
  • 【三维重建学习之路01】点云ply文件的读写、修改

    文章目录 1 前言 2 PLY文件格式 3 读文件 变量 库 查看头文件 vertex信息 数据类型 读文件函数 按行阅读检查 4 写文件 参考 1 前言 关于使用python读写ply的比较清楚的教程很少 自己也是新手 摸索中 2 PLY
  • linux虚拟机重启后,运行nmtui提示NetworkManaer 未运行

    环境 centOS 8 虚拟机重启后 输入ifconfig 发现网卡丢失 1 重启NetworkManaer systemctl start NetworkManager 2 输入nmtui nmtui 编辑连接 笔者网络小白 只会用自动
  • 雅特力AT32F403A, 国产芯片PIN TO PIN 替代STM32F103

    中美贸易摩擦日渐加剧 美国从各个方面到处打压中国 半导体行业也收到一定冲击 逼迫国内企业不得不准备产品国产化方案 自从华为被美国制裁之后 国内的很多手机厂商明白了一个道理 爹有娘有 不如自己有 于是各大厂商纷纷走上了芯片国产化的道路 意法半
  • java Hashtable及其子类Properties 源码分析(通俗易懂)

    目录 一 前言 二 Hashtable详解 1 简介 2 特点 3 底层实现 4 HashMap VS Hashtable 三 Properties详解 1 简介 2 特点 3 具体使用 可以不看 四 完结撒 一 前言 大家好 本篇博文是对
  • 【已解决--2021报错】is not a supported wheel on this platform-解决安装simplejson失败的问题

    已解决 2021报错 is not a supported wheel on thisplatform 解决安装simplejson失败的问题 1 问题描述 直接在pycharm中pip安装simplejson失败 然后网上找了很多教程 但
  • 知网的爬取 很简单

    对于知网能爬出来的东西 首先说一下 论文的题目 时间 作者 摘要等信息 本文主要对搜索界面进行爬取 对于知网的爬虫可以说挺简单的 其难点在于有一个二次请求 通过断点分析youfiddler分析有两个要注意的url一个是红色的一个是橘色的 先
  • Javacv+Nginx实现rtsp转rtmp实现web端直播方式

    前言 前面的文章中使用websocket的方案在web端实现rtsp播放 因为各种原因 现需要重新写一套方案 不废话 上才艺 补充 项目中需求可能要同时观看多个摄像头 将本项目放开限制使用多个摄像头时 就会发现相机之间的切换加载时间及视频流
  • Android:实现一种浮动选择菜单的效果

    前几天更新了一下我手机上的百阅软件 上面的浮动对话框选择很好看 就模仿了一下 先看一下运行效果 主要原理是在dialog里扔进一个GridView 可以作为一个组件使用 源码如下 对话框使用的layout grid dialog xml
  • Lumen 5.2 中配置邮件

    本文转自 https laravel china org topics 1974 Lumen中的邮件配置好了之后还是很简单的 但是配置过程官方文档省略了太多 先来扒一扒遇到的坑 Class mailer does not exist 这个是
  • Mysql内置函数全解析——Mysql初级(三)

    一 前言 在关系型数据库使用的过程中 我们总会对DB里面的数据做各种不同形式的转换 字符串处理等基本操作 本文将会比较系统的学习总结Mysql中的各种内置函数 这是一个系列的文章 感兴趣的小伙伴可以关注一下哦 本文的行文思路是这样的 因为M