1. 程式人生 > >mysql 開發基礎系列6 數值與日期函數

mysql 開發基礎系列6 數值與日期函數

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 數值與日期函數