mysql 开发基础系列6 数值与日期函数
一. 数值函数

1. abs(x) 返回x的绝对值
SELECT ABS(-0.8),ABS(0.8);

2.ceil(x) 返回大于x的最大整数
SELECT CEIL(-0.8),CEIL(0.8);

3.floor(x) 返回小于x的最大整数
SELECT FLOOR(-0.8),FLOOR(0.8);

4.mod(x,y) 返回x/y的模
SELECT MOD(15,10),MOD(1,11),MOD(NULL,10)

5. rand() 返回0到1内的随机值
SELECT RAND(),RAND();

还可是指定范围的随机数,如0~100的值
SELECT CEIL(100*RAND());

6.round(x,y) 返回参数x的四舍五入的有y位小数的值,如果不写y,默认为0
SELECT ROUND(1.1),ROUND(1.1,2),ROUND(1.0,3)

7. truncate(x,y) 返回数字x截断为y位小数的结果,看看与round的区别
SELECT ROUND(1.235,2),TRUNCATE(1.235,2);

二. 日期与时间函数

1. curdate() 返回当前日期,只有年月日
SELECT CURDATE();

2. curtime(): 返回当前时分秒
SELECT CURTime();

3.now() 返回年月日时分秒
SELECT NOW();

4. UNIX_TIMESTAMP(date) 返回unix 时间截
SELECT UNIX_TIMESTAMP(NOW())

5. FROM_UNIXTIME (unixtime) 和UNIX_TIMESTAMP互转
SELECT FROM_UNIXTIME(1530265708)

6. week(date)和year(date),返回一年的第几周,各年份
SELECT WEEK(NOW()),YEAR(NOW());

7.hour(time)和 minute(time) 返回小时和分钟
SELECT HOUR(CURTIME()),MINUTE(CURTIME());

8. monthname(date) 返回时间英文月份
SELECT MONTHNAME(NOW());

9. date_format(date,fmt)按指定的格式显示日期


下面的例子将当前时间显示为 "月,日,年" 格式
SELECT DATE_FORMAT(NOW(),'%M,%D,%Y')

10. date_add(date,interval expr type) 返回与所给日期date相差interval时间段的日期

下面例子第1列返回当前日期时间, 2列返回距当前日期31天后的日期时间,3列返回距当前日期一年两个月后的日期时间。 (也可以用负数表示后退的日期时间)
SELECT NOW() AS current,
DATE_ADD(NOW(),INTERVAL 31 DAY) AS after31dyas,
DATE_ADD(NOW(),INTERVAL '1_2' YEAR_MONTH) AS after_oneyear_twomonth;

11. datediff(date1,date2) 用来计算两个日期之间相差的天数
SELECT DATEDIFF('2018-08-08',NOW())

mysql 开发基础系列6 数值与日期函数的更多相关文章
- mysql 开发基础系列12 选择合适的数据类型(上)
一. char 与varchar比较 在上图的最后一行的值只适用在"非严格模式",关于严格模式后面讲到.在“开发基础系列4“ 中讲到CHAR 列删除了尾部的空格.由于char是固定 ...
- mysql 开发基础系列3 日期数据类型
日期类型 如果要用来表示年月日,通常用DATE 来表示. 如果要用来表示年月日时分秒,通常用DATETIME 表示. 如果只用来表示时分秒,通常用TIME 来表示. TIMESTAMP表示格式 :YY ...
- mysql 开发基础系列22 SQL Model
一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql model 定义了mysql应用支持的sql语法,数据校验等,这样更容易在不同的环境中使用mysql. sql ...
- mysql 开发基础系列17 存储过程和函数(上)
一. 概述 存储过程和函数是事先经过编译并存储在数据库中的一段sql语句集合,可以简化应用开发人员的很多工作,减少数据在数据库与应用服务器之间的传输,提高数据处理效率是有好处的.存储过程和函数的区别在 ...
- mysql 开发基础系列15 索引的设计和使用
一.概述 所有mysql 列类型都可以被索引,是提高select查询性能的最佳方法. 根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种引擎对每个表至少支持16个索引,总索引长度至少为256字 ...
- mysql 开发基础系列13 选择合适的数据类型(下)
一. BloB和Text 1. 合成索引 合成索引可以提高大文本字段BLOB和Text的查询性能, 合成索引是在表中增加一个字段存放散列值,这种技术只能用于精确匹配的查询,可以使用md5()或sha ...
- mysql 开发基础系列2 整型数据类型
Mysql 的数据类型 1. 对整数类型, Mysql 还支持类型名称后面的小括号内指定的显示宽度,例如int(5) 表示宽度小于5位时填满宽度,如果不显示指定宽度默认是int(11),一般配合zer ...
- mysql 开发基础系列20 事务控制和锁定语句(上)
一.概述 在mysql 里不同存储引擎有不同的锁,默认情况下,表锁和行锁都是自动获得的,不需要额外的命令, 有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务的完整性.这样就需要使 ...
- mysql 开发基础系列18 存储过程和函数(下)
1. 光标的使用(游标) 在存储过程和函数中可以使用光标对结果集进行循环的处理,光标使用包括光标的声明,open ,fetch,close. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...
随机推荐
- 关于Eclipse的一些简单设置
1.加入eclipse没有编辑的文件 例如:想用html类型打开*.jetx文件,在window-preferences-General-Content Types-Text-Html加入*.jetx ...
- Scrum冲刺阶段4
成员今日完成的任务 人员 任务 何承华 学习后端设计 陈宇 后端设计 丁培辉 学习后端设计 温志铭 日程添加界面设计(一半) 杨宇潇 日程添加界面设计(一半) 张主强 服务器构建 成员遇到的问题 人员 ...
- css2d 3d
2D转换 1.rotate() 旋转 <!DOCTYPE html><html> <head> <meta charset="UTF-8&quo ...
- H5新特性-视频,音频-Flash-canvas绘图
json格式 json - > AJAX json:数据格式,通常是以字符串形式表示 对象 {"name":"james","age" ...
- eclipse新建servers时选中tomcat版本后next是灰色的解决
有时在编辑器里删除server后就不能重新new了,因为不能点next. 试了下面的方法,可以用. 1.退出2.到[工程目录下]/.metadata/.plugins/org.eclipse.core ...
- Spring流行的十大理由
Spring大概是每个JAVA程序员都听过的框架,但是它为什么能这么流行? 听到咕泡学院的Tom老师的公开课,下面是他总结的阿里为什么选择Spring的十大理由,我觉得这也是Spring能流行的原因: ...
- HAProxy详细中文用法详解
一.HAProxy简介 (1)HAProxy 是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProx ...
- express使用记录
express使用记录 文章用啥写?→→ VsCode. 代码用啥写?→→ VsCode. 编辑器下载:VsCode 一.windows下安装node.js环境: 下载地址 相比以前搭过的服务端语言的 ...
- 超实用的 Nginx 极简教程,覆盖了常用场景
概述 什么是 Nginx? Nginx (engine x) 是一款轻量级的 Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器. 什么是反向代理? 反向代理(Reverse ...
- JavaScript 基础排序的实现(二)
继上一篇O(n^2)的排序算法后,这一篇主要记录O(n*logn)的排序算法 1.快排(快速排序) 这一算法的核心思想为,先随机选一个数作为标兵或者说是标记(这个数一般来说选择该无序数组的中间那个元素 ...