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. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...
随机推荐
- 2018上IEC计算机高级语言(C)作业 第3次作业_说明
一.博客作业内容 2018上IEC计算机高级语言(C)作业 第3次作业 二.评分规则说明 1.程序调试题,要描述出调试所遇到问题及修改内容,并表述清楚程序功能.流程图不规范的会减1-2分: 2.知识点 ...
- 手机号读取城市数据库2018年3月excel版
EXCEL表中是更新到2018年3月份的手机归属地数据库. 手机号读取城市数据库2018年3月excel版.zip
- 实战操作——通过wireshark查看任意qq好友IP
今天有群里好友问我如何查看别人IP,查IP这个东西对于一些刚入门的小白来说可能是一个比较高大上的玩意,但是实际上只需一个网络协议分析工具就OK,废话不多说,下面开始实践 实验对象:任意QQ好友 操作工 ...
- javascript生成器
next()方法 如果给next方法传参数, 那么这个参数将会作为上一次yield语句的返回值 ,这个特性在异步处理中是非常重要的, 因为在执行异步代码以后, 有时候需要上一个异步的结果, 作为下次异 ...
- JPA-学习02
一.主键生成策略 主键:确定一张表的唯一性东西(非空且唯一) 分为:自然主键和代理主键. 生成策略: identity:自增策略(1.值必须是数字,2.数据库支持) sequence:序列策略(同上, ...
- LOJ-10092(最大半连通子图)
题目连通:传送门 思路: 题目定义很清晰,然后就不会了QAQ…… 后来看了书,先缩点,然后再用拓扑排序找到最长的链子的节点数(因为缩点后所有点都是一个强连通分量,所以找最长的链子就是最大限度包含 点的 ...
- 如何从本地远程访问虚拟机内的Mysql服务器?
假设重装了操作系统,则本地的很多软件可能都需要重新安装,比如数据库.但是,假设我们把一些重要的软件安装在虚拟机当中,则在重装操作系统之前,数据库服务器可以和虚拟机一起进行备份.重装操作系统之后,原先的 ...
- 两种 js下载文件的方法(转)
function DownURL(strRemoteURL, strLocalURL){ try{ var xmlHTTP = new ActiveXObjec ...
- 如何封装使用api形式调用的vue组件
在实际开发中一般有两种封装vue组件的方法:一种就是常用的的通过props父组件传值给子组件的方法: 子组件 父组件: 还有一种就是通过调用api的形式,下面例子是本人在实际项目中封装的一个自定义图标 ...
- Android中弹出dialog后无法捕捉back键
一.需求 在Android开发过程中,弹出dialog后无法捕捉back键,点击back按键无响应. 二.解决方案 原因:弹出dialog后,activity失去焦点,dialog获得当前焦点. 解决 ...