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. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...
随机推荐
- Chapter5_初始化与清理_成员初始化
在java中,成员初始化在使用之前应该都要保证已经完成初始化.对于在方法体中的局部变量,如果没有使用指定初始化的方法对成员变量进行初始化,编译器会提示一个错误.而对于类的数据成员,编译器会对这些成员赋 ...
- [c#.net]遍历一个对象中所有的属性和值
利用反射 SpDictItem sp = GetCFHObject.GetSpItem("); PropertyInfo[] propertys = sp.GetType().GetProp ...
- vue2.0在android5.0白屏, es6转es5保证浏览器兼容性
1. 安装 npm install --save-dev babel-preset-es2015 2. 安装 npm install --save-dev babel-preset-stage-3 3 ...
- js常用通用方法
验证身份证详细方法 function isCardNo(pId) { var arrVerifyCode = [1, 0, "x", 9, 8, 7, 6, 5, 4, 3, 2] ...
- 软件测试---测试模型(V、W、H)
一.V测试模型 1.V模型示意图: 单元测试:又叫模块测试,针对软件设计中的最小单位—>程序模块 集成测试:又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序.递增测试. 系统测试:把 ...
- JDK工具 javap
javap -c [ClassName] 编译为汇编语言
- temp--内蒙农信出差
============================2018.09.18~~~20181001================================== -------住宿----黎明花 ...
- Fiddler-设置取消自动更新
fiddler 启动时老弹出要更新,但不想更新,可以这样设置 Tools-Optons->General 把第一个√去掉
- 【转】javaUDP套接字通信
Java UDP网络编程 - 最简单示例 转自 http://blog.csdn.net/wintys/article/details/3525643 /** *UDPServer *@autho ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...