mysql 開發基礎系列6 數值與日期函數
阿新 • • 發佈:2018-06-30
info 最大 ont 隨機 AD mat interval 函數 日期date
一. 數值函數
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 數值與日期函數