mysql 开发基础系列6 数值与日期函数
程序员文章站
2024-01-14 19:46:52
一. 数值函数 1. abs(x) 返回x的绝对值 2.ceil(x) 返回大于x的最大整数 3.floor(x) 返回小于x的最大整数 4.mod(x,y) 返回x/y的模 5. rand() 返回0到1内的随机值 还可是指定范围的随机数,如0~100的值 6.round(x,y) 返回参数x的四 ......
一. 数值函数
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())