mysql时间函数

MySQL 聚合函数(一)聚合(组合)函数概述

点点圈 提交于 2019-12-23 11:26:08
  MySQL版本:5.7+   本节介绍对值的集合进行操作的组合(聚合)函数。翻译自: Aggregate (GROUP BY) Function Descriptions 一、MySQL 5.7中的聚合函数   MySQL 5.7中的聚合函数如下:   除非另有说明,否则组合函数会忽略NULL值。   如果在不包含Group By子句的语句中使用组合函数,就等效于对所有行进行分组。(个人理解是,结果总是只有一行。)关于这点的更多信息,后面的小节“MySQL处理Group By的方式”会讲到。   聚合函数中,方差和标准差函数会对数值参数返回DOUBLE值。SUM()和AVG()对精确值参数(integer或DECIMAL)返回DECIMAL值,而对近似值参数(FLOAT或DOUBLE)返回DOUBLE值。   时间类型的参数对SUM()和AVG()无效。它们会把时间类型的值转换成数字,丢弃第一个非数字字符后的所有信息)。如果要解决这个问题,先要将时间类型的值转换为合适的数值单元,在执行聚合操作后,再转换回时间值。如下所示: SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time_col))) FROM tbl_name; SELECT FROM_DAYS(SUM(TO_DAYS(date_col))) FROM tbl_name;   诸如SUM(

MySQL事件调度器Event Scheduler

谁都会走 提交于 2019-12-23 03:46:16
我们都知道windows的计划任务和linux的crontab都是用来实现一些周期性的任务和固定时间须要运行的任务。 在mysql5.1之前我们完毕数据库的周期性操作都必须借助这些操作系统实现。 在mysql5.1及其之后的版本号添加了计划任务的功能(mysql事件调度器Event Scheduler)。 事件调度器是定时触发运行的。在这个角度上也能够称作是"暂时的触发器"。 触发器仅仅是针对某个表产生的事件运行一些语句。而事件调度器则是在某一个(间 隔)时间运行一些语句。事件是由一个特定的线程来管理的,也就是所谓的"事件调度器"。 启用事件调度器后。拥有 SUPER 权限的账户运行 SHOW PROCESSLIST 就能够看到这个线程了。 一、事件调度器event_scheduler的开启: mysqlserver时间调度器的开启是由一个名叫 event_scheduler 的全局变量控制的,这个变量默觉得OFF或者是0 。 查看是否开启: mysql> SHOW GLOBAL VARIABLES LIKE 'event%' ; //OFF 关闭;ON 开启; mysql> SELECT @@event_scheduler; //0 关闭;1 开启。 要使用事件调度器必须先开启 event_scheduler。开启的方法例如以下: 1、 SET GLOBAL event

mysql----常用函数

牧云@^-^@ 提交于 2019-12-23 00:33:59
常用函数: 按功能分类为:字符串函数、数值函数、日期时间函数、流程函数、其他函数 字符串函数: concat(s1,2,...sn):字符串拼接,任何字符串与null连接都是null insert(str,x,y,instr):将str的x开始的y个字符换成instr select insert('helloworld',2,3,'AAAAAA'); #hAAAAAAoworld left(str,n):获得str从左边开始的n个字符,如果x为null不返回任何字符 right(str,n):获得str从右边开始的n个字符,如果x为null不返回任何字符 lpad(str,n,pad):用pad在str的左边进行填充,直到长度是n #select lpad('hello',20,'pad') padpadpadpadpadhello rpad(str,n,pad):用pad在str的右边进行填充,直到长度是n #select rpad('hello',20,'pad') hellopadpadpadpadpad lstrim(str),rstrim(str),strim(str):去除str左边、右边、或左右两边的空格 repeat(str,n):将str重复n次 replace(str,a,b):用b替换str中的a #select replace('helloworld','o

mysql常用单行函数

岁酱吖の 提交于 2019-12-22 11:38:07
一、大小写控制函数 LOWER(str) 将str的值全部置为小写字母 select LOWER ( 'ABC' ); --结果: LOWER ( 'ABC' ) abc UPPER(str) 将str的值全部置为大写字母 select UPPER ( 'abc' ); --结果: UPPER ( 'abc' ) ABC 二、字符控制函数 CONCAT(str1,str2,...) 将str1、str2等字符串连接起来 select CONCAT ( 'a' , 'b' , 'c' ); --结果: CONCAT ( 'a' , 'b' , 'c' ) abc SUBSTR(str,pos,len) 从str的第pos位(范围:1~str.length)开始,截取长度为len的字符串 select SUBSTR ( 'abc' , 1 , 2 ); --结果: SUBSTR ( 'abc' , 1 , 2 ) ab LENGTH(str) 获取str的长度 select LENGTH ( 'abc' ); --结果: LENGTH ( 'abc' ) 3 INSTR(str,substr) 获取substr在str中的位置 select INSTR ( 'abc' , 'a' ); --结果: INSTR ( 'abc' , 'a' ) 1 LPAD(str,len,padstr)

MySql常用函数

丶灬走出姿态 提交于 2019-12-22 08:22:49
字符串函数 CONCAT ( s1 , s2 ,....) 字符串连接 INSERT ( str , x , y , instr ) 将指定开始标记到结束的字符串替换为指定字符串 LOWER ( str ) 将字符串所有字符转为小写 UPPER ( str ) 将字符串所有字符串转为大写 LEFT ( str , x ) 返回字符串 str 最左边的 x 个字符 RIGHT ( str , x ) 返回字符串 str 最右边的 x 个字符 LPAD ( str , n , pad ) 在 str 最左边填充 n 个 pad RPAD ( str , n , pad ) 在 str 最右边填充 n 个 pad LTRIM ( str ) 去掉字符串 str 左侧的空格 RTRIM ( str ) 去掉字符串 str 右侧的空格 REPEAT ( str , x ) 返回 str 重复 x 次的结果 STRCMP ( s1 , s2 ) 比较字符串 s1 和 s2 REPLACE ( str , a , b ) 用字符串 b 替换字符串 str 中所有出现的字符串 a TRIM ( str ) 去掉字符串行尾和行头的空格 SUBSTRING ( str , x , y ) 返回从字符串 str x 位置起 y 个字符长度的字串 数学函数 ABS ( x ) 返回 x 的绝对值 CEIL

MySQL高级查询函数(单行函数)

二次信任 提交于 2019-12-21 07:29:27
函数的分类: 1,单行函数:对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。 2,多行函数:对多条记录输入值进行计算,得到多条记录对应的单个结果。 单行函数: ①:字符串函数(用户处理单行的字符数据,比如大小写转换,字符串截取,拼装等) a.LOWER/UPPER(LOWER(str):返回字符串str变为小写字母的字符串.UPPER(str):返回字符串str变为大写字母的字符串)   SELECT UPPER(name) FROM student; //全部大写 SELECT LOWER(name) FROM student; //全部小写 b.CONCAT: CONCAT(str1,str2,...):   1,返回结果为连接参数产生的字符串。   2,如有任何一个参数为NULL ,则返回值为 NULL   3,允许有一个或多个参数 SELECT name,age, CONCAT(name,'-',age) FROM student; 运行的结果为: c.INSERT:把指定(位置,长度)的子字符串替换成目标字符串         格式:INSERT(str,pos,len,newstr)        参数:str:(源字符串) pos:(开始插入的位置, 索引从1开始) len:

mysql资料整理

≯℡__Kan透↙ 提交于 2019-12-21 07:06:38
###SQL的语言分类 1. DQL(Data Query Language):数据查询语言 select 2. DML(Data Manipulate Language):数据操作语言 insert 、update、delete 3. DDL(Data Define Languge):数据定义语言 create、drop、alter 4. TCL(Transaction Control Language):事务控制语言 commit、rollback ###:常见函数 一、单行函数 1、字符函数 concat拼接 substr截取子串 upper转换成大写 lower转换成小写 trim去前后指定的空格和字符 ltrim去左边空格 rtrim去右边空格 replace替换 lpad左填充 rpad右填充 instr返回子串第一次出现的索引 length 获取字节个数 2、数学函数 round 四舍五入 rand 随机数 floor向下取整 ceil向上取整 mod取余 truncate截断 3、日期函数 now当前系统日期+时间 curdate当前系统日期 curtime当前系统时间 str_to_date 将字符转换成日期 date_format将日期转换成字符 4、流程控制函数 if 处理双分支 case语句 处理多分支 情况1:处理等值判断 情况2:处理条件判断 5

MySQL C API

限于喜欢 提交于 2019-12-20 08:51:44
一、数据类型 MYSQL MYSQL 是MYSQL数据库连接的句柄(handle),几乎所有的MYSQL函数都需使用该 数据结构, 不要尝试去复制该数据结构,因为不能保证副本是可用的 。 MYSQL_RES MYSQL_RES 是SQL查询结果(result of query)。 MYSQL_ROW MYSQL_ROW 代表着一行数据,它被实现可数字节的字符串(an array of counted byte strings), 但是认为它是以null为终结符的字符串 ,因为它可能包含二进制 数据。一行数据通常通过 mysql_fetch_row() 来获取。 MYSQL_FIELD MYSQL_FIELD 包含元数据 metadata ,字段的信息(例如字段名,数据类型,大小等) 通常可以通过重复使用 mysql_fetch_field 逐个获取字段,但字段值不包括在这个结构 中,而是包含在 MYSQL_ROW . MYSQL_FIELD的数据成员,当使用在不同场合,它的数据成员有不同含义: char* name : char* org_name : char* table : char* org_name : char* db : char* catlog : char* def : unsigned long length : unsigned long max_length

Mysql安装、配置、优化

空扰寡人 提交于 2019-12-20 01:04:13
Mysql安装、配置、优化 大家都知道MySQL是一款中、小型关系型数据库管理系统,很具有实用性,对于我们学习很多技术都有帮助,前几天我分别装了SQL Server 2008和Oracle 10g数据库,也用了JDBC去连接他们,都没有出现乱码。昨天看同学用Java连接MySQL数据库的时候,出现了乱码,这是我不知道的,我马上上网去查JDBC连接MySQL的操作,发现在用JDBC方式连接MySQL数据库的时候要传递一个能解决乱码的参数,才能将不是乱码的数据插入到数据库中.这是我要安装MySQL数据库的其中一个原因,想去体验以下它一下,再加上上课的机器配置比较低,装MySQL数据库做实验是最好的选择,正是由于这两个原因我安装了MySQL,在安装的过程中有些问题让我很注意,在安装的过程中我将步骤截了图,希望对有需要的人有所帮助,我的数据库是5.5.21这个版本的。以下是我的安装步骤: Mysql安装、配置 1、首先单击MySQL5.5.21的安装文件,出现该数据库的安装向导界面,单击“next”继续安装。 2、在打开的窗口中,选择接受安装协议,单击“next”继续安装。 3、在出现选择安装类型的窗口中,有“typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,因为通过自定义可以更加的让我们去熟悉它的安装过程,单击

MySQL 插入数据

扶醉桌前 提交于 2019-12-19 11:32:24
MySQL 表中使用 INSERT INTO SQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1 , field2 , . . . fieldN ) VALUES ( value1 , value2 , . . . valueN ) ; 如果数据是字符型,必须使用单引号或者双引号,如:“value”。 通过命令提示窗口插入数据 以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 runoob_tbl 插入数据 实例 以下实例中我们将向 runoob_tbl 表插入三条数据: root @host # mysql - u root - p password ; Enter password : * * * * * * * mysql > use RUNOOB ; Database changed mysql > INSERT INTO runoob_tbl - > ( runoob_title , runoob_author , submission_date ) - > VALUES - > ( "学习 PHP" , "阿宇" , NOW ( ) )