mysql时间函数

复习(六)---mysql自带函数

你。 提交于 2020-03-08 01:13:48
数学函数 1. 绝对值函数ABS()和PI()函数 : SELECT ABS(2), ABS(-13), PI(); 2. 平方根函数SQRT()跟取模函数MOD(x,y) x为被除数,y为除数: SELECT SQRT(9), MOD(2,9); 3. CEIL(X) 或 CEILING(X) 返回不小于x的最小整数值,返回值是BIGINT。FLOOR(X) ,不大于x的最大整数值 4. RAND(x), 返回[0,1]区间的随机值,参数x如果指定,则用作种子值,产生重复序列 5. ROUND(X):最接近x的整数。ROUND(X,y) :对x四舍五入,保留小数点后面y位。如果y为负,小数点左边相应位数为0。 6. TRUNCATE(x,y) 保留x小数点后面 y位。如果y位0,只保留整数部分。如果y为负,截去x小数点左边ABS(y)位后面的值,并将整数部分ABS(y)为数字置零。 7. SIGN(x):返回x的符号 负、零、正 分别对应 -1、0、1 8. 幂运算函数:POW(x,y), POWER(x,y); x的y次幂,EXP(x) e 为底的x次幂 9. LOG(x),x的自然对数。LOG(X,Y),x为底,y的对数 。LOG10(x),10为底,x的对数。 字符串函数 1. CHAR_LENGTH(str1) 2. CONCAT(str2,str3,...)

MySQL 查询时间段内的数据

半城伤御伤魂 提交于 2020-03-07 08:03:48
先来建表语句: SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for t_user -- ---------------------------- DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `userId` bigint(20) NOT NULL, `fullName` varchar(64) NOT NULL, `userType` varchar(16) NOT NULL, `addedTime` datetime NOT NULL, PRIMARY KEY (`userId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of t_user -- ---------------------------- INSERT INTO `t_user` VALUES ('1', '爽爽', '普通', '2018-01-21 10:20:09'); INSERT INTO `t_user` VALUES ('2', '贵贵', '普通', '2017-11-06 10:20:22');

MySQL 获取某个时间段每一天、每一个小时的统计数据

浪尽此生 提交于 2020-03-07 08:03:20
获取每一天的统计数据 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:18:36这个时间段内,统计出每一天的日志数据,一般情况下,看到这种需求都是考虑使用函数来搞定,直接上sql语句 SELECT DATE_FORMAT(trigger_time, '%Y-%m-%d') triggerDay, COUNT(id) triggerCount FROM `job_qrtz_trigger_log` WHERE trigger_time BETWEEN '2018-02-02 09:18:36' AND '2018-03-05 23:18:36' GROUP BY triggerDay ORDER BY trigger_time; 对上面的sql做简单的解释 首先,查询字段这里,COUNT(id) triggerCount是我们需要的统计数据的条数,按照实际需求可以添加需要的字段。 DATE_FORMAT(trigger_time, '%Y-%m-%d') triggerDay 这个是将特定日期格式化成 YYYY-mm-dd 格式的日期。这里的格式用于后面的分组,所以按照不同的需求,可以自定义格式。 我的需求是获取每一天的日志数据,我就按照 年份-月份-日期

mysql——常见函数

女生的网名这么多〃 提交于 2020-03-06 16:16:45
#进阶4:常见函数 /* 概念:类似于java中的方法,将一组逻辑语句封装在方法中,对外暴露方法名 好处:1、隐藏了实现细节。2、提高代码的重用性 调用:select 函数名(实参列表) from 表 特点: ①函数名 ②函数功能 分类: ①单行函数 如:concat、ifnull、length等 传一个值,返回一个值 ②分组函数(统计函数、聚合函数、组函数) 功能:做统计使用的 传一组值,返回一个值 */ 单行函数 一、字符函数 #length 获取参数的字节个数 SELECT LENGTH('join'); #4 SELECT LENGTH('张三丰hahaha'); #15,一个汉字占三个字节,一个字母一个字节 SHOW VARIABLES LIKE '%char%'; #显示当前系统支持的字符集 #concat 拼接字符串 SELECT CONCAT(last_name,'_',first_name) FROM employees; #upper/lower SELECT UPPER('join'); #将参数变为大写 SELECT LOWER('JOIN'); #将参数变为小写 #案例1:将姓变大写,将名变小写 SELECT CONCAT(UPPER(last_name),LOWER(first_name)) AS 姓名 FROM employees; #substr

PostgreSQL与MySQL对比

强颜欢笑 提交于 2020-03-06 11:59:32
都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。 PostgreSQL : 免费 原则: 对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会日益提供。而随着硬件性能的飞速提高,速度也不再是什么太大的问题。 1 架构对比 MySQL: 多线程 PostgreSQL: 多进程 多线程架构和多进程架构之间没有绝对的好坏,例如oracle在unix上是多进程架构,在windows上是多线程架构。 PG 的有多种集群架构可以选择,plproxy 可以支持语句级的镜像或分片,slony 可以进行字段级的同步设置,standby 可以构建WAL文件级或流式的读写分离集群,同步频率和集群策略调整方便,操作非常简单。 pgsql对于numa架构的支持比mysql强一些,比MYSQL对于读的性能更好一些,pgsql提交可以完全异步,而mysql的内存表不够实用(因为表锁的原因) 2 对存储过程[1]及事务的支持能力 1) MySQL对于无事务的MyISAM表,采用表锁定,一个长时间运行的查询很可能会长时间地阻碍对表的更新,而PostgreSQL不存在这样的问题。 2) PostgreSQL支持存储过程

开发工具的学习以及认识

喜你入骨 提交于 2020-03-05 01:51:48
操作系统: 1.Windows操作系统 ⑴直观、高效的面向对象的图形用户界面,易学易用 ⑵用户界面统一、友好、漂亮 ⑶丰富的设备无关的图形操作 ⑷多任务操作环境 2.Unix操作系统 ⑴UNIX系统是一个多用户,多任务的分时操作系统 ⑵UNIX的系统结构可分为三部分:操作系统内核,系统调用,应用程序 ⑶UNIX系统大部分是由C语言编写的 ⑷UNIX提供了丰富的,精心挑选的系统调用 ⑸UNIX提供了功能强大的可编程的Shell语言作为用户界面 ⑹UNIX系统采用树状目录结构 ⑺UNIX系统采用进程对换的内存管理机制和请求调页的存储方式 ⑻UNIX系统提供多种通信机制 3.Linux操作系统 ⑴Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途 ⑵Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码 ⑶完全兼容POSIX1.0标准 ⑷多用户、多任务操作环境;支持多种平台 4.Mac OS操作系统 ⑴全屏模式是新版操作系统中最为重要的功能,一切应用程序均可以在全屏模式下运行 ⑵任务控制整合了Dock和控制面板,并可以窗口和全屏模式查看各种应用 ⑶快速启动面板的工作方式与iPad完全相同,它以类似于iPad的用户界面显示电脑中安装的一切应用,并通过App Store进行管理,用户可滑动鼠标,在多个应用图标界面间切换 ⑷Mac

loadrunner如何对mysql进行增删改查

空扰寡人 提交于 2020-03-05 01:51:04
libraries.zip 地址:链接:https://pan.baidu.com/s/1kIZ2aBCOFSJ9l727MxgIKQ 密码:40vq * 说明一下,因为 lr 有很多库文件都没有,所以需要额外的从外部下载 公共库,并放到相应的位置。 * 推荐下载: MySQL LoadRunner libraries.zip 这样的一个外库。 * 下载完后,你会发现一共 9个文件,8个 .h 文件 1个 .dll 文件 * 将 .h文件 都放在 lr安装目录中的 include 文件夹中, .dll 放在 bin 目录中 * */ 注意:花点时间把下载的 .h 文件快速的过一遍,下面我会对几个 用到的方法解释 lr_load_dll('dll文件名'); 加载动态库,这个很重要,可以防止 init 中 也可以放在 操作 Action中。 lr_abort(); 这个可以理解为退出。 mysql_init(); 创建一个 mysql 对象。毕竟是调用别人家的,不拿到人家的许可怎么弄用方法呢。 mysql_real_connection(); 数据库连接,你可以在Ptt_mysql.h 文件中查找该方法的原形,或者 百度 mysql_query(); sql 语句。 -- 如果是 查询语句使用率额mysql_query();就要使用 mysql_use_result() 和

MySQL 中的数据类型介绍

。_饼干妹妹 提交于 2020-03-02 19:32:16
1、概述 要了解一个数据库,我们也必须了解其支持的数据类型。 MySQL支持所有标准的SQL数据类型,主要分3类: 数值类型 字符串类型 时间日期类型 另一类是几何数据类型,用的不多,也没多介绍。 下面大、小标题后括号内的数组表示其含有的类型个数。下面所有结论都经过本人使用MySql Workbench编写SQL验证过或来自官网。 2、数值类型(12) 2.1、整数类型(6) 一张图就能解释清楚了: INTEGER同INT。 2.2、定点数(2) DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值。 使用方式如下: salary DECIMAL(5,2) 下面的介绍将基于上面这个例子。 我们看到其中有两个参数,即DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99。 如果存储时,整数部分超出了范围(如上面的例子中,添加数值为1000.01),MySql就会报错,不允许存这样的值。 如果存储时,小数点部分若超出范围,就分以下情况: 若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存。如999.994实际被保存为999.99。 若四舍五入后,整数部分超出范围,则MySql报错,并拒绝处理。如999.995和-999

MySql函数

旧城冷巷雨未停 提交于 2020-03-01 16:18:55
distinct 去重 字符函数: 数学函数: 日期函数: 其他函数: 控制函数: length :获取长度 round:四舍五入 now:返回当前日期+时间 version:当前数据库版本 if concat:连接 ceil:向上取整 curdate:返回当前日期 datebase:当前打开的数据库 case substr: 截取子串 floor:向下取整 curtime:返回当前时间 user:当前用户 Instr:获取第一次出现的索引 truncate:截断 year:返回年 password(‘字符’):返回该字符的密码形式 trim:去前后空格 mod:取模 month:返回月 md5(‘字符’):返回该字符的md5加密形式 upper:变大写 rand:获取随机数(0-1之间的小数) monthname:以英文形式返回月 lower:变小写 day:返回天 lpad:左填充 hour:返回时 rpad:右填充 minth:返回分 replace:替换 second:返回秒 str_to_date:将字符转换成日期 date_format:将日期转换成字符 来源: https://www.cnblogs.com/64Byte/p/12389774.html

MySQL时间字段究竟使用INT还是DateTime的说明

丶灬走出姿态 提交于 2020-03-01 15:14:47
今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` int(10) unsigned NOT NULL DEFAULT '0'; 随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也更高。 归根结底:用int来代替data类型,更高效。 环境: Windows XP PHP Version 5.2.9 MySQL Server 5.1 第一步、创建一个表date_test(非定长、int时间) CREATE TABLE `test`.`date_test` ( `id` INT NOT NULL AUTO_INCREMENT , `start_time` INT NOT NULL , `some_content` VARCHAR( 255 ) NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = InnoDB; 第二步、创建第二个表date_test2(定长、int时间) CREATE TABLE `test`.`date_test2` ( `id` INT NOT NULL AUTO_INCREMENT , `start_time` INT NOT NULL , `some_content` CHAR( 255 ) NOT