【MySQL】第六部分 单行函数

MySQL 第五章&第六章 案例教程 他需要为不同角色分配不同的数据库权限(如分析师只读、运维可备份),并定期备份数据库以防数据丢失。常用权限:SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, ALL PRIVILEGES。· 第一范式(1NF) :列不可再分(如地址不能拆成省、市、区,但实际拆分更好)。· 第三范式(3NF) :满足2NF,且非主键列不传递依赖于主键(消除传递依赖)。· 第二范式(2NF) :满足1NF,且非主键列完全依赖于主键(消除部分依赖)。 阅读详情

【MySQL】第六部分 单行函数



6. 单行函数

6.1 常用的函数

函数用法
ABS(x)返回x的绝对值
SIGN(X)返回X的符号。正数返回1,负数返回-1,0返回0
PI()返回圆周率的值
CEIL(x),CEILING(x)返回该值向上取整
FLOOR(x)返回该值向下取整
LEAST(e1,e2,e3…)返回列表中的最小值
GREATEST(e1,e2,e3…)返回列表中的最大值
MOD(x,y)返回X除以Y后的余数
RAND()返回0~1的随机值
RAND(x)返回0~1的随机值,其中x的值用作种子值,相同的X值会产生相同的随机数
ROUND(x)返回一个对x的值进行四舍五入后,最接近于X的整数
ROUND(x,y)返回一个对x的值进行四舍五入后最接近X的值,并保留到小数点后面Y位
TRUNCATE(x,y)返回数字x截断为y位小数的结果
SQRT(x)返回x的平方根。当X的值为负数时,返回NULL
SELECT ABS(123),ABS(-123),SIGN(5),SIGN(-5),SIGN(0),PI(),CEILING(4.8),FLOOR(4.8),
LEAST(12,45,22),GREATEST(45,55,89),MOD(18,5),RAND(),RAND()*10,RAND(1)
FROM DUAL;

在这里插入图片描述


SELECT ROUND(4.5),ROUND(4.2),ROUND(4.556,2),ROUND(RAND()*10),TRUNCATE(4.563,1),SQRT(4)
FROM DUAL;

在这里插入图片描述


6.2 角度与弧度转换函数

函数用法
RADIANS(x)将角度转化为弧度,其中,参数x为角度值
DEGREES(x)将弧度转化为角度,其中,参数x为弧度值
SELECT RADIANS(57.3),DEGREES(1),RADIANS(DEGREES(2*PI())),DEGREES(2*PI())
FROM DUAL;

在这里插入图片描述


6.3 三角函数

函数用法
SIN(x)返回x的正弦值,其中,参数x为弧度值
ASIN(x)返回x的反正弦值,即获取正弦为x的值。如果x的值不在-1到1之间,则返回NULL
COS(x)返回x的余弦值,其中,参数x为弧度值
ACOS(x)返回x的反余弦值,即获取余弦为x的值。如果x的值不在-1到1之间,则返回NULL
TAN(x)返回x的正切值,其中,参数x为弧度值
ATAN(x)返回x的反正切值,即返回正切值为x的值
ATAN2(m,n)返回两个参数的反正切值
COT(x)返回x的余切值,其中,X为弧度值
SELECT SIN(RADIANS(30)),COS(RADIANS(30))
FROM DUAL;

6.4 指数与对数

函数用法
POW(x,y),POWER(X,Y)返回x的y次方
EXP(X)返回e的X次方,其中e是一个常数,2.718281828459045
LN(X),LOG(X)返回以e为底的X的对数,当X <= 0 时,返回的结果为NULL
LOG10(X)返回以10为底的X的对数,当X <= 0 时,返回的结果为NULL
LOG2(X)返回以2为底的X的对数,当X <= 0 时,返回NULL
SELECT POW(2,3),POWER(2,3),EXP(2),LN(10),LOG(10),LOG10(10),LOG2(2)
FROM DUAL;

在这里插入图片描述


6.5 进制转换

函数用法
BIN(x)返回x的二进制编码
HEX(x)返回x的十六进制编码
OCT(x)返回x的八进制编码
CONV(x,f1,f2)将x当成f1进制,返回f1进制数变成f2进制数
SELECT BIN(10),OCT(10),HEX(10),CONV(10,2,8)
FROM DUAL;

在这里插入图片描述


6.6 字符串函数

注意:MySQL中,字符串的位置是从1开始的 !!!

函数用法
ASCII(S)返回字符串S中的第一个字符的ASCII码值
CHAR_LENGTH(s)返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同
LENGTH(s)返回字符串s的字节数,和字符集有关,utf8中文占3个字节
CONCAT(s1,s2,…,sn)连接s1,s2,…,sn为一个字符串
CONCAT_WS(x, s1,s2,…,sn)以x进行连接s1,s2…sn
INSERT(str, idx, len, replacestr)将字符串str从第idx位置开始,len个字符长的子串替换为字符串replacestr
REPLACE(str, a, b)用字符串b替换字符串str中所有出现的字符串a
UPPER(s) 或 UCASE(s)将字符串s的所有字母转成大写字母
LOWER(s) 或LCASE(s)将字符串s的所有字母转成小写字母
LEFT(str,n)返回字符串str最左边的n个字符
RIGHT(str,n)返回字符串str最右边的n个字符
LPAD(str, len, pad)用字符串pad对str最左边进行填充,直到str的长度为len个字符,效果是右对齐
RPAD(str ,len, pad)用字符串pad对str最右边进行填充,直到str的长度为len个字符,效果是左对齐
LTRIM(s)去掉字符串s左侧的空格
RTRIM(s)去掉字符串s右侧的空格
TRIM(s)去掉字符串s开始与结尾的空格
TRIM(s1 FROM s)去掉字符串s开始与结尾的s1
TRIM(LEADING s1 FROM s)去掉字符串s开始处的s1
TRIM(TRAILING s1 FROM s)去掉字符串s结尾处的s1
REPEAT(str, n)返回str重复n次的结果
SPACE(n)返回n个空格
STRCMP(s1,s2)比较字符串s1,s2的ASCII码值的大小,s1大于s2返回1,反之-1,如果相等返回0
SUBSTR(s,index,len)返回从字符串s的index位置其len个字符,作用与SUBSTRING(s,n,len)、MID(s,n,len)相同
LOCATE(substr,str)返回字符串substr在字符串str中首次出现的位置,作用于POSITION(substr IN str)、INSTR(str,substr)相同。未找到,返回0
ELT(m,s1,s2,…,sn)返回指定位置的字符串,如果m=1,则返回s1,如果m=2,则返回s2,如果m=n,则返回sn
FIELD(s,s1,s2,…,sn)返回字符串s在字符串列表中第一次出现的位置
FIND_IN_SET(s1,s2)返回字符串s1在字符串s2中出现的位置。其中,字符串s2是一个以逗号分隔的字符串
REVERSE(s)返回s反转后的字符串
NULLIF(value1,value2)比较两个字符串,如果value1与value2相等,则返回NULL,否则返回value1
SELECT ASCII('hello'),CHAR_LENGTH('世界'),LENGTH('世界'),CONCAT('hello ','world'),CONCAT_WS('-','2022','12','12'),
INSERT('hello',2,2,'adb'),REPLACE('hello world','l','e'),UPPER('ssss'),LOWER('ADSAD'),LEFT('hello',2),RIGHT('hello',2)
FROM DUAL;

在这里插入图片描述


SELECT LTRIM('  hello'),RTRIM('sdas    '),TRIM('    dsad   dsad '),TRIM('ll' FROM 'helloll'),
REPEAT('world ',3),LENGTH(SPACE(5)),STRCMP('asa','asc'),SUBSTR('hello',2,4),LOCATE('l','hello')
FROM DUAL;

在这里插入图片描述


6.7 日期时间函数

6.7.1 获取时间和日期

函数用法
CURDATE() 或 CURRENT_DATE()返回当前日期,只包含年、月、日
CURTIME() 或 CURRENT_TIME()返回当前时间,只包含时、分、秒
NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP()返回当前系统日期和时间
UTC_DATE()返回UTC(世界标准时间)日期
UTC_TIME()返回UTC(世界标准时间)时间
SELECT CURDATE(),CURTIME(),NOW(),SYSDATE()+0,UTC_DATE(),UTC_DATE()+0,UTC_TIME(),UTC_TIME()+0
FROM DUAL;

6.7.2 日期与时间戳的转换

函数用法
UNIX_TIMESTAMP()以UNIX时间戳的形式返回当前时间。
UNIX_TIMESTAMP(date)将时间date以UNIX时间戳的形式返回。
FROM_UNIXTIME(timestamp)将UNIX时间戳的时间转换为普通格式的时间
SELECT UNIX_TIMESTAMP(NOW()) , UNIX_TIMESTAMP('2022-01-22 15:33:14'),FROM_UNIXTIME(1642836794)
FROM DUAL;

6.7.3 获取月份、星期、星期数、天数等

函数用法
YEAR(date) / MONTH(date) / DAY(date)返回具体的日期值
HOUR(time) / MINUTE(time) / SECOND(time)返回具体的时间值
MONTHNAME(date)返回月份:January,…
DAYNAME(date)返回星期几:MONDAY,TUESDAY…SUNDAY
WEEKDAY(date)返回周几,注意,周1是0,周2是1,。。。周日是6
QUARTER(date)返回日期对应的季度,范围为1~4
WEEK(date) , WEEKOFYEAR(date)返回一年中的第几周
DAYOFYEAR(date)返回日期是一年中的第几天
DAYOFMONTH(date)返回日期位于所在月份的第几天
DAYOFWEEK(date)返回周几,注意:周日是1,周一是2 … 周六是7
SELECT YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()),
HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE())
FROM DUAL;
SELECT MONTHNAME(NOW()),DAYNAME(CURDATE()),WEEKDAY(NOW()),
QUARTER(CURDATE()),WEEK(CURDATE()),DAYOFYEAR(NOW()),
DAYOFMONTH(NOW()),DAYOFWEEK(NOW())
FROM DUAL;

6.7.4 日期的操作函数

EXTRACT(type FROM date)函数中type的取值与含义:

type取值含义
MICROSECOND返回毫秒数
SECOND返回秒数
MINUTE返回分钟数
HOUR返回小时数
DAY返回天数
WEEK返回日期在一年中的第几个星期
MONTH返回日期在一年中的第几个月
QUARTER返回日期在一年中的第几个季度
YEAR返回日期的年份
SECOND_MICROSECOND返回秒和毫秒值
MINUTE_MICROSECOND返回分钟和毫秒值
MINUTE_SECOND返回分钟和秒值
HOUR_MICROSECOND返回小时和毫秒值
HOUR_SECOND返回小时和秒值
HOUR_MINUTE返回小时和分钟值
DAY_MICROSECOND返回天和毫秒值
DAY_SECOND返回天和秒值
DAY_MINUTE返回天和分钟值
DAY_HOUR返回天和小时
YEAR_MONTH返回年和月
SELECT EXTRACT(MINUTE FROM NOW()),EXTRACT( WEEK FROM NOW()),
EXTRACT( QUARTER FROM NOW()),EXTRACT( MINUTE_SECOND FROM NOW()),
EXTRACT(DAY_HOUR FROM NOW())
FROM DUAL;

6.7.5 时间和秒钟转换的函数

函数用法
TIME_TO_SEC(time)将当前时间转化为秒并返回结果值。转化的公式为:小时*3600+分钟*60+秒
SEC_TO_TIME(seconds)将秒转换为时间
SELECT TIME_TO_SEC(CURTIME()),SEC_TO_TIME(57350)
FROM DUAL;

6.7.6 计算日期和时间的函数

函数用法
DATE_ADD(date INTERVAL expr type),ADDDATE(date,INTERVAL expr type)返回当前时间根据type进行相加expr
DATE_SUB(date,INTERVAL expr type),SUBDATE(date,INTERVAL expr type)返回当前时间根据type进行相减expr

在这里插入图片描述

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS col1, DATE_ADD(NOW(), INTERVAL -1 YEAR) AS col2, #可以是负数
DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH) AS col3, #需要单引号
DATE_SUB(NOW(),INTERVAL 10 DAY) AS col4
FROM DUAL;

函数用法
ADDTIME(time1,time2)返回time1加上time2的时间。当time2为一个数字时,代表的是秒,可以为负数
SUBTIME(time1,time2)返回time1减去time2后的时间。当time2为一个数字时,代表的是秒,可以为负数
DATEDIFF(date1,date2)返回date1 - date2的日期间隔天数
TIMEDIFF(time1, time2)返回time1 - time2的时间间隔
FROM_DAYS(N)返回从0000年1月1日起,N天以后的日期
TO_DAYS(date)返回日期date距离0000年1月1日的天数
LAST_DAY(date)返回date所在月份的最后一天的日期
MAKEDATE(year,n)针对给定年份与所在年份中的天数返回一个日期
MAKETIME(hour,minute,second)将给定的小时、分钟和秒组合成时间并返回
PERIOD_ADD(time,n)返回time加上n后的时间
SELECT ADDTIME(NOW(),20),SUBTIME(NOW(),30),SUBTIME(NOW(),'1:1:1'),DATEDIFF(NOW(),'2022-10-01'),
TIMEDIFF(NOW(),'2022-10-02 22:10:10'),FROM_DAYS(355),TO_DAYS('0000-12-25'),
LAST_DAY(NOW()),MAKEDATE(YEAR(NOW()),12),MAKETIME(10,21,23),PERIOD_ADD(20200101010101,10)
FROM DUAL;

举例:查询 7 天内的新增用户数有多少?

SELECT COUNT(*) as num 
FROM info_user 
WHERE DATEDIFF(NOW(),regist_time) <=7

6.7.7 日期的格式化与解析

函数用法
DATE_FORMAT(date,fmt)按照字符串fmt格式化日期date值
TIME_FORMAT(time,fmt)按照字符串fmt格式化时间time值
STR_TO_DATE(str, fmt)按照字符串fmt对str进行解析,解析为一个日期
格式符说明格式符说明
%Y4位数字表示年份%y表示两位数字表示年份
%M月名表示月份(January,…)%m两位数字表示月份(01,02,03。。。)
%b缩写的月名(Jan.,Feb.,…)%c数字表示月份(1,2,3,…)
%D英文后缀表示月中的天数(1st,2nd,3rd,…)%d两位数字表示月中的天数(01,02…)
%e数字形式表示月中的天数(1,2,3,4,5…)
%H两位数字表示小数,24小时制(01,02…)%h和%I两位数字表示小时,12小时制(01,02…)
%k数字形式的小时,24小时制(1,2,3)%l数字形式表示小时,12小时制(1,2,3,4…)
%i两位数字表示分钟(00,01,02)%S和%s两位数字表示秒(00,01,02…)
%W一周中的星期名称(Sunday…)%a一周中的星期缩写(Sun.,Mon.,Tues.,…)
%w以数字表示周中的天数(0=Sunday,1=Monday…)
%j以3位数字表示年中的天数(001,002…)%U以数字表示年中的第几周,(1,2,3。。)其中Sunday为周中第一天
%u以数字表示年中的第几周,(1,2,3。。)其中Monday为周中第一天
%T24小时制%r12小时制
%pAM或PM%%表示%
SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d'),TIME_FORMAT(CURTIME(),'%H:%i:%s')
FROM DUAL;
函数用法
GET_FORMAT(date_type,format_type)返回日期字符串的显示格式

在这里插入图片描述

此方法主要是配合上述三个函数的使用

SELECT DATE_FORMAT(CURDATE(),GET_FORMAT(DATE, 'USA')),TIME_FORMAT(CURTIME(),GET_FORMAT(TIME, 'USA'))
FROM DUAL;

总结

以上就是今天要讲的内容,希望对大家有所帮助!!!

百度慧眼人口位置数据:从原理到实战的GIS处理全流程 本文详细解析百度慧眼人口位置数据的处理全流程,从基本原理到实战应用。通过空间网格划分、终端数量统计等技术手段,百度慧眼数据能准确反映人群分布特征。文章涵盖坐标系转换、核密度分析、热力图制作等GIS处理技巧,并分享商业选址、城市规划等典型业务场景的解决方案,帮助读者高效利用这一数据资源。 阅读详情

相关推荐

超实用!用ChimeraX对AlphaFold 结果可视化(中): 蛋白结构美化篇

而一般需要的背景颜色是无色(白色),有三种方法可以更改背景颜色,这里我们介绍两种方法,第三种在下一小节中讲解。如果想选中蛋白链中的某一结构区域或者某些位点,可以用Ctrl+Shift+鼠标左键,或在软件窗口中点击。在这个窗口中可以对蛋白的主链、侧链、表面等颜色进行修改,只用在。,即可在右下角看到我们蛋白的序列信息,在这里面直接用鼠标选择要选择的结构域。就会有更多的颜色供我们选择,如果有特定的色号还可以在这个界面继续选择。后面的颜色(②),就可以选择想要的任何背景颜色(③)。就可以选择软件推荐的常用颜色。

m0_63153079的博客 5488

MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用

本文主要分为七大部分,首先介绍函数的基本概念和不同DBMS函数的差异。接着,介绍MySQL中常用的数值函数,包括基本函数、三角函数和进制间转换等。接下来,讲解字符串函数的用法和实践技巧,使得读者能够更好地处理字符串类型的数据。 。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 1万+

面板数据门槛归回分析,xthreg的安装,xthreg2安装包

我用的是Stata17,数据是不平衡的面板数据,需要用到xthreg2,虽然我找到了xthreg2.ado,但是还需要安装xthreg,因为运行xthreg2需要xthreg包顺带安装的lxthreg.mlib文件。但是!我后来发现还是不行,最后是去买了一个真正能用到xthreg2的lxthreg.mlib文件,才可以运行。

weixin_55252589的博客 1万+

MySQL第六章(单行函数之数值函数) 详细

MySQL数值函数

qq_61866637的博客 373

cadence17.4和16.6同时安装无法使用的问题

经过对报错的问题分析,发现还是17.4的lic文件和16.6的不一样,16.6的版本总是无法找到自己对应的lic文件。卸载了,重新单独安装16.6,这里就是正确的。包括使用这些工具去修复这些问题,都无法接近。已经放弃了,使用哪个版本就安装 哪个版本。这个也无法解决问题。

D_Katter的博客 2325

风险登记册vs问题日志:项目经理必须掌握的区别与应用

在项目管理的世界里,风险登记册和问题日志就像是项目经理的两个得力助手。我们的目的就是要搞清楚这两个助手各自的特点、区别以及如何在项目中好好使用它们。范围涵盖了项目从启动到结束的整个过程,无论是小项目还是大项目,都能从对这两个工具的正确使用中受益。我们先会用有趣的故事引出风险登记册和问题日志的概念,然后像给小学生讲故事一样解释它们是什么。接着分析它们之间的关系和区别,再用代码示例模拟它们在项目中的应用,之后介绍实际的应用场景、推荐相关工具和资源,探讨未来的发展趋势和挑战。

项目管理的博客 875

第六章MySQl函数

目录 第六章MySQl函数 6.1数学函数 6.2.1 绝对值函数ABS(x)和返回圆周率的函数PI() ​​​​​6.2.2 平方根函数SQRT(x)和求余函数MOD(x,y) 6.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 6.2.4 获取随机数的函数RAND()和RAND(x) 6.2.5 函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 第六章MySQl函数 MySQL提供了众多功能强大、方便易用的函数...

qq_31236849的博客 141

LabVIEW实现TCP通信

在本节中,我们将简要探讨TCP通信的基础知识,并以工业物联网平台TLINK中的云端设备数据发布设计为例,详细阐述在互联网环境下TCP客户端应用程序设计的基本方法。

不脱发的程序猿 1964

MySQL第六章(单行函数之日期和时间函数) 详细

MySQL日期与时间函数

qq_61866637的博客 479

C#上位机实战:手把手搭智慧工业数字孪生系统,从设备建模到实时联动全落地

字段长度(字节)说明起始标识2固定为0xAA55,用于判断数据包开始设备ID4唯一标识设备(比如1001代表电机1)数据类型10=布尔(启停),1=浮点数(转速/温度)数据长度4数据字节数(布尔1字节,浮点数4字节)数据内容N实际数据(按数据长度读取)校验位1前面所有字节的异或校验,防止数据篡改结束标识2固定为0x55AA,用于判断数据包结束。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 968

微信小程序(云开发) - 实现微信小程序拼团功能+前后台源码/数据库设计,开团参团、自动成团、微信分享链接URL参与拼团、组团人数/倒计时/实时数据、设置拼团人数限制等(拼团退款处理逻辑、订单同步等)

实现微信小程序云开发拼团功能,云开发小程序--微信拼团设计实现,微信小程序实现秒杀、拼团等效果,微信小程序云开发拼团源码完整版 包含前后台和数据库,拼团商城小程序开发,分销,拼团,社群团购,微信小程序—判断参团人数(设置拼团剩余人数数组)拼多多拼团小程序开发,微信云开发教程怎么实现微信小程序云开发拼团功能?云开发如何实现拼团,拼团小程序怎么弄,微信小程序案例:拼团模块,需要朋友助力,详细源码demo示例,如何做拼团功能,云开发小程序如何做拼团功能,外卖电商拼团,仿拼多多拼团,拼团后退款怎么办,拼团后订单管理

🏆 前端领域优质创作者 4629

【Mysql上分之路】第六篇:Mysql函数分类及使用

文章目录MySQL函数MySQL函数分类数值型函数ABSSQRTMODCEIL、CEILINGFLOORRANDROUNDTRUNCATESIGNPOW、POWEREXPSIN、COS、TAN、COTLOG、LOG10字符串函数LENGTHCONCATINSERTLOWER、UPPERLEFT、RIGHTTRIMREPLACESUBSTRINGREVERSESTRCMP日期和时间函数CURDATE、CURTIMENOW、LOCALTIMEUTC_DATE、UTC_TIMEMONTH、DAYNAMEDATE.

justilake的博客 681

【信号与系统】Multisim 仿真信号合成与分解

软件 Multisim 进行方波信号的产生、分解和合成,观察信号波形的分解与合成,加深对信号频谱的理解。

AXYZdong的博客 2万+

MYSQL学习整理(4):函数

本文包括MYSQL的函数使用,包括IF函数,GROUP BY函数等。

qq_53832312的博客 644

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

mysql 第六篇 文件函数

摘要:本文介绍了SQL函数SUBSTRING_INDEX的用法,该函数用于从字符串中提取指定分隔符的部分。通过三个示例演示其应用:1)从用户资料中提取性别并统计人数;2)从博客URL中提取用户名;3)嵌套使用该函数提取年龄并统计排序。函数规则为:正数参数从左取前N部分,负数参数从右取后N部分。每个示例都详细解析了函数参数、处理逻辑和最终效果,展示了该函数在数据提取和分组统计中的实用价值。

lihaoweiwudi_的博客 520

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MySQL学习从零开始--第六部分

MySQL Binlog 是一个二进制日志文件,记录所有修改数据库内容的操作(如UPDATE、DELETE、INSERT),不记录查询操作。Binlog有三种格式:STATEMENT(记录原始SQL)、ROW(记录行级变更)和MIXED(自动选择),推荐使用ROW格式,因为它能精确记录变更值,确保主从数据一致性和恢复准确性。 Binlog写入遵循两阶段提交机制:先执行操作并记录redo log,再写入binlog,最后提交事务。若数据库异常重启,MySQL会通过崩溃恢复机制确保数据一致性。当Binlog文件

记录运维小白学习过程 909

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

MYSQL分割函数,连接函数,数字函数,日期函数

格式二:locate('关键字','字符串','count') //返回关键字在字符串中count开始第一次出现的索引位置。格式 一:locate('关键字','字符串') //返回关键字在字符串中第一次出现的索引位置。格式 :concat_ws('关键字','字符串一','字符串二','字符串三',...)//连接字符串,之间以?格式:concat('字符串一','字符串二','字符串三',...)MySQL中mid()函数与substr()函数用法一致。

m0_72571405的博客 1806

Mysql数据库基础第六章:变量、存储过程与函数

1、变量 在mysql中,可以使用变量来存储查询或计算结果,类似python中的变量。在mysql中主要分为:系统变量和自定义变量 1.1 系统变量 系统变量是在启动mysql服务时会给系统变量赋值,定义了当前mysql服务实例的一些特征,例如在事务中的autocommit 系统变量分为: 全局变量(global):全局变量对所有的连接有效,但是重启会失效。 会话变量(session,mysql默认):会话变量,不能跨连接 1.1.1查看系统变量 查看所有或者部分系统变量 # 查看所有全局变量 sh

阿里云专家博主、数据科学领域优质创作者、统计er在读 2406

mysql函数api_MySQL API函数

MySQL提供了很多函数来对数据库进行操作,大致可以分为以下几类:第一部分 控制类函数mysql_init()初始化MySQL对象mysql_options()设置连接选项mysql_real_connect()连接到MySQL数据库mysql_real_escape_string()将查询串合法化mysql_query()发出一个以空字符结束的查询串mysql_real_query()发出一个查...

weixin_36328628的博客 510

MySQL数据库精研之旅第六期:CRUD的趣味探索(中)

至于原因:查询结果是根据表中的列或者是根据表中列进行运算的结果,from用来确定是在哪个表里面查,先经过where条件过滤,再返回到查询列表中得到我们想要的结果。上面这条SQL语句不能有效地去限制结果集的个数,这样的查询是不安全的,因为这样查询,结果集过大有可能会把服务器的资源消耗殆尽。并且两个列的值是在同一个数据中的,不能进行跨行比较,比如王五的语文成绩不能与钱七的英语成绩进行比较。指定了排序的列,返回的结果集是针对当前排序列进行排序的结果,排序是在额外的空间中进行的(使用的是临时表的空间)。

2401_85198927的博客 1432

MySQL数据库,从入门到精通:第九篇——MySQL子查询

本文将主要分为五个部分。第一部分通过实际问题引入子查询的基本使用和分类,包括单行、多行和相关三类子查询。 第二部分深入探讨单行子查询的使用方法和技巧,包括单行比较操作符、空值问题等。同时还介绍了在CASE中使用子查询和非法使用子查询的相关知识。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 1万+

MySQL从入门到高级 --- 6.函数

若condition1成立,返回result1,condition2成立,返回result2,当全部不成立返回result,而当有一个成立后,后面将不再执行。非聚合窗口函数对于聚合函数来说,聚合函数是一组数据计算后返回单个值,非聚合函数一次指挥处理一行数据。窗口聚合函数在行记录上计算某个字段的结果时,可将窗口范围内的数据输入到聚合函数中,并不改变行数。:根据group by指定的列进行分组,并用分隔符分隔,将同一个分组中的值连接起来,返回一个字符串结果,实现行的合并。:实现分组排序,并添加序号。

zhongziqia的博客 2401

MYSQL - 函数

总结一些MYSQL中的函数,主要内容都参考自《MYSQL必知必会》。 数据处理函数 数据处理函数大致分为以下几种: 用于处理文本串的文本函数 用于对数值数据进行算术操作的数值函数 用于处理日期时间的日期和时间函数 返回DBMS正使用的特殊信息的系统函数 文本函数 常用文本函数: 函数 说明 Left() 返回串左边的字符 Length() 返回串的长度 Locate() 找出串的一个子串 Lower() 将串转换为小写 LTrim() 去除串左边的空格 Right()

qq_38243831的博客 192

简单聊聊MySQL中常见的函数和它的作用

这是我学过的一些MySQL中的函数,欢迎大家继续补充,如果学习的话一定要自己实操一下,印象深刻点

qq_63061686的博客 697

MySQL学习记录——基础篇

MySQL康师傅版学习记录

Dndelion的博客 436

MySQL数据库总结笔记第六章

第六章 MySQL函数 1.数值型函数 ①round(x,y) 四舍五入 x为查询数值的字段,y为保留几位小数的值 特点:返回数值x带有y为小数结果的数值 语法:select round(查询数值字段,y) from 表名; ②floor(x) 向下取整 小数位全舍去,取整数部分 特点:返回x的向下取整的整数 语法:select floor(查询字段) from 表名; ③ceil(x) 向上取整 小数位全舍去,取原整数部分+1 特点:返回...

OpenSource_的博客 225
上一篇: 【MySQL】第五部分 多表查询
下一篇: 【MySQL】第七部分 流程控制函数
Tree_wws
博客等级 码龄6年 1万+粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值