mysql日期函数

MySQL存储过程详解(转)

荒凉一梦 提交于 2020-01-20 01:21:10
1. 存储过程简介 我们常用的操作数据库语言 SQL 语句在执行的时候需要要先编译,然后执行,而存储过程( Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有 SQL 语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存储过程通常有以下优点: (1). 存储过程增强了 SQL 语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 存储过程能实现较快的执行速度。如果某一操作包含大量的 Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划

MySQL中的常用函数

為{幸葍}努か 提交于 2020-01-19 14:28:21
1.字符串函数 length(a) 获得字符串a的长度 concat(a,b,c) 将多个值拼接成一个字符串 trim(a) 去掉字符串a首尾的空格 replace(a,b,c) 将字符串a中出现的b字符串替换成c subString(str,index,len) 从第index个字符开始截取字符串str,最多取len个 reverse(a) 反转字符串a locate(a,b) 查询子字符串a在字符串b中出现的位置,从1开始 2.数学函数 abs(a) 取a的绝对值 sqrt(a) 取a的平方根 mod(a,b) 取a%b 计算a整除b之后的余数 ceiling(a); 向上取整,取得大于等于a的最小整数 floor(a); 向下取整,取得小于等于a的最大整数 round(a,b); 四舍五入对a保留b位小数 truncate(a,b); 对数值a保留b位小数,直接去掉多余的尾数 sign(a) 返回1 0 -1表示a是正数 0 或者负数 power(a,b) 返回a的b次方[次幂] rand() 返回0~1之间的一个随机数 floor(rand()*100) 获得0~100之间的随机数 3.日期时间函数 addDate(d,days) 在当前日期上加days天 addDate(d,interval num unit) 在当前日期上加days天 unit 可以是day month

Mysql中的时间函数

纵饮孤独 提交于 2020-01-19 03:48:35
ex: UPDATE users SET logintime=DATE_FORMAT('2013-10-1 22:23:00','%Y-%m-%d %H:%T:%S') where userID=1225 DATE_FORMAT(date,format)   根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)   %W 星期名字(Sunday……Saturday)   %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)   %Y 年, 数字, 4 位   %y 年, 数字, 2 位   %a 缩写的星期名字(Sun……Sat)   %d 月份中的天数, 数字(00……31)   %e 月份中的天数, 数字(0……31)   %m 月, 数字(01……12)   %c 月, 数字(1……12)   %b 缩写的月份名字(Jan……Dec)   %j 一年中的天数(001……366)   %H 小时(00……23)   %k 小时(0……23)   %h 小时(01……12)   %I 小时(01……12)   %l 小时(1……12)   %i 分钟, 数字(00……59)   %r 时间,12 小时(hh:mm:ss [AP]M)   %T 时间,24 小时(hh:mm:ss)  

MYSQL基础03(日期函数)

。_饼干妹妹 提交于 2020-01-19 03:42:16
工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍。 1.获取当前日期 select NOW() -- 结果:2015-10-28 22:41:11 select NOW(),SLEEP(3),NOW() -- 结果 2015-10-28 22:43:34 0 2015-10-28 22:43:34 SELECT SYSDATE(),SLEEP(3),SYSDATE() -- 结果 2015-10-28 22:46:48 0 2015-10-28 22:46:52 -- NOW()是sql执行前就得到,而SYSDATE()是该函数执行时才得到,一般来说NOW()已经足够,所以更常用 2.日期格式化 DATE_FORMAT(date,format) 注: 该函数返回的是字符串类型  根据format字符串格式化date值  (在format字符串中可用标志符:  %M 月名字(January……December)  %W 星期名字(Sunday……Saturday)  %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)  %Y 年, 数字, 4 位  %y 年, 数字, 2 位  %a 缩写的星期名字(Sun……Sat)  %d 月份中的天数, 数字(00……31)  %e 月份中的天数, 数字(0……31)  %m 月, 数字(01……12)  %c

mysql时间格式化,按时间段查询的MySQL语句

[亡魂溺海] 提交于 2020-01-19 03:05:17
描述 :有一个会员表,有个birthday字段,值为'YYYY-MM-DD'格式,现在要查询一个时间段内过生日的会员,比如'06-03'到'07-08'这个时间段内所有过生日的会员。 SQL语句 : Select * From user Where DATE_FORMAT(birthday,'%m-%d') >= '06-03' and DATE_FORMAT(birthday,'%m-%d') <= '07-08'; 根据 format 字符串格式化 date 值。下列修饰符可以被用在 format 字符串中: %M 月名字 (January……December) %W 星期名字 (Sunday……Saturday) %D 有英语前缀的月份的日期 (1st, 2nd, 3rd, 等等。) %Y 年 , 数字 , 4 位 %y 年 , 数字 , 2 位 %a 缩写的星期名字 (Sun……Sat) %d 月份中的天数 , 数字 (00……31) %e 月份中的天数 , 数字 (0……31) %m 月 , 数字 (01……12) %c 月 , 数字 (1……12) %b 缩写的月份名字 (Jan……Dec) %j 一年中的天数 (001……366) %H 小时 (00……23) %k 小时 (0……23) %h 小时 (01……12) %I 小时 (01……12) %l 小时 (1…

mysql日期函数

一曲冷凌霜 提交于 2020-01-18 19:50:14
mysql常用的日期函数及用法如下: #当前时间 select now(); #结果:2020-01-18 15:25:26 #当前时间戳 select current_timestamp; #结果:2020-01-18 15:26:36 select current_timestamp(); #结果:2020-01-18 15:26:36 #前一天 select date_add(now(), interval -1 day); #结果:2020-01-17 15:27:13 #后一天 select date_add(now(), interval 1 day); #结果:2020-01-19 15:27:39 可用参数:hour、minute、second、microsecond、week、month、quarter、year #日期格式化 select date_format('2020-1-18 15:28:19', '%Y%m%d%H%i%s'); #结果:20200118152819 #字符串转换为日期 select str_to_date('20200118152819', '%Y%m%d%H%i%s'); #获取unix时间戳 select unix_timestamp(); #结果: 1579332593 #字符串转unix时间戳 select unix

MySQL日期和时间函数

余生长醉 提交于 2020-01-18 14:02:44
DURDATE()函数 返回当前日期,只包含年月日 CURTIME()函数 返回当前时间,只包含时分秒 NOW()函数 返回当前的日期和时间,年月日时分秒全部包含。 UNIX_TIMESTAMP(date)函数 返回日期date的UNIX时间戳 WEEK(DATE),YEAR(DATE),HOUR(time),MINUTE(TIME)函数 WEEK(DATE):返回所给的日期是一年中的第几周 YEAR(DATE):返回所给的日期是哪一年 HOUR(time):返回所给时间的小时 MINUTE(time):返回所给时间的分钟 MONTHNAME(DATE)函数 返回date的英文月份名称 DATE_FORMAT(date,fmt)函数 按字符串fmt格式化日期date值,此函数能够按指定的格式显示日期 第一列返回当前的日期时间,第二列返回距离当前日期一个小时后的日期时间,第3列返回距离当前日期31天后的日期时间,第四列返回距离当前日期一年两个月后的日期时间。 DATEDIFF(date1,date2)函数 用来计算两个日期之间相差的天数 来源: https://www.cnblogs.com/aotemanzhifu/p/9192398.html

MySQL的数据类型(一)

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-18 06:40:10
  每一个常量、变量和参数都有数据类型、它用来指定一定的存储格式、约束和有效范围。MySQL提供了多种数据类型、主要有数值型、字符串类型、日期和时间类型。不同的MySQL版本支持的数据类型可能会稍有不同。    数值类型:   MySQL支持所有标准SQL 中的数值类型、其中包括了严格数值类型、近似数值数据类型、并在此基础上做了一些扩展、增加了三种不同长度的整型。   在整数类型中、按照取值范围和存储方式不同、分为tinyint、smallint、mediumint、int和bigint这五种类型,如果超出类型范围的操作,会发生“Out of range” 错误提示。为了避免此类问题的发生,在选择数据类型的时候要根据应用的实际情况确定其取值范围,最后根据确定的结果去选择数据类型。   对于整型数据,MySQL还支持在类型名称后面的小括号能指定显示宽度,例如 int(5) 表示当数值宽度小于5位的时候在数字前面填满宽度,如果不显示指定宽度则默认为int(11)。一般配合zerofill使用,zerofill就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。   所有的整数类型都有一个可选属性UNSIGNED(无符号),如果需要在字段里面保存非负数或者需要较大的上限值时,可以用此选项,他的取值范围时正常值得下限取0,上限取原值的2倍,例如tinyint有符号范围是

Excel常用函数

好久不见. 提交于 2020-01-18 03:40:57
清洗处理类 主要是文本、格式以及脏数据的清洗和转换。很多数据并不是直接拿来就能用的,需要经过数据分析人员的清理。数据越多,这个步骤花费的时间越长。 Trim 清除掉字符串两边的空格。 MySQL有同名函数,Python有近似函数strip。 Concatenate =Concatenate(单元格1,单元格2……) 合并单元格中的内容,还有另一种合并方式是& 。"我"&"很"&"帅" = 我很帅。当需要合并的内容过多时,concatenate的效率快也优雅。 MySQL有近似函数concat。 Replace =Replace(指定字符串,哪个位置开始替换,替换几个字符,替换成什么) 替换掉单元格的字符串,清洗使用较多。 MySQL中有同名函数,Python中有同名函数。 Substitute 和replace接近,区别是替换为全局替换,没有起始位置的概念 Left/Right/Mid =Mid(指定字符串,开始位置,截取长度) 截取字符串中的字符。Left/Right(指定字符串,截取长度)。left为从左,right为从右,mid如上文示意。 MySQL中有同名函数。 Len/Lenb 返回字符串的长度,在len中,中文计算为一个,在lenb中,中文计算为两个。 MySQL中有同名函数,Python中有同名函数。 Find =Find(要查找字符,指定字符串,第几个字符)

快速回顾MySQL:汇总和分组

浪子不回头ぞ 提交于 2020-01-16 23:32:19
10.3 汇总数据 我们经常需要汇总数据而不用把它们实际检索处出来,为此MySQL提供了专门的函数。使用这些函数,MySQL查询可用于检索数据,以便分析和报表的生成。这种类型的检索例子有以下几种: 确定表中的行数(或者满足某个条件或包含某个特定值的行数)。 获得表中行组的和。 找出表列(或所有行或某些特定的行)的最大值、最小值和平均值。 上述的例子都需要对表中数据(而不是实际数据本身)汇总。因此,返回实际表数据是对时间和处理资源的一种浪费(更不用说带宽了)。 MySQL提供了5个聚集函数。 聚集函数(aggregate function)运行在行组上,计算和返回单个值的函数。 函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值之和 下面简单介绍这些函数 先创建下面的表: CREATE TABLE student( sid INT PRIMARY KEY, sname VARCHAR(20), ssex CAHR(1) ); CREATE TABLE score( sid INT PRIMARY KEY, sname VARCHAR(20), smath INT, senglish INT ); 10.3.1 AVG()函数 AVG()通过对表中行数计数并计算特定列值之和