《MYSQL數據庫mysql時間查詢函數 mysql時間戳》要點:
本文介紹了MYSQL數據庫mysql時間查詢函數 mysql時間戳,希望對您有用。如果有疑問,可以聯系我們。
導讀:1,CURDATE()或CURRENT_DATE()和CURTIME()或CURRENT_TIME()這兩個函數是比擬常用到的,顧名思義,第一個返回當前日期,第二個返回當前時間...
MYSQL實例1,CURDATE()或CURRENT_DATE()和CURTIME()或CURRENT_TIME()
這兩個函數是比擬常用到的,顧名思義,第一個返回當前日期,第二個返回當前時間
可以在MySQL客戶端或者PHP語句里寫"SELECT CURDATE(),CURTIME()"查看相關信息.
還有一個很重要的函數NOW(),返回當前日期和時間其實就是上面兩個函數返回結果的合并.
MYSQL實例2,DATE_ADD和DATE_SUB(date,INTERVAL int keyword)
這兩個函數很重要,返回日期date加上或減去格式化的時間INTERVAL int,像本日有個朋友提到如何查詢一周之內的數據就要用到這個函數.
下面講一下INTERVAL int keyword
MYSQL實例例1:
?
SELECT? *? FROM tblname WHERE TIME > DATE_SUB ( NOW (), INTERVAL 1 MONTH )
?
MYSQL實例這個語句執行后返回表中所有TIME字段值從當前日期起一個月之內的數據
MYSQL實例例2,
?
SELECT? *? FROM tblname WHERE TIME > DATE_SUB ( NOW (), INTERVAL? "1-1"? YEAR_MONTH )
?
MYSQL實例這個語句返回距今一年零一個月之內的數據
如果用到DAY_SECOND參數,前面的int就必需如 "1 12:23:34"這樣的格式
MYSQL實例keyword參數列表
?
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND????
HOUR_MICROSECOND????
HOUR_SECOND????
HOUR_MINUTE
DAY_MICROSECOND????
DAY_SECOND????
DAY_MINUTE????
DAY_HOUR
YEAR_MONTH
?
MYSQL實例此中QUARTER和WEEK是MySQL5之后才有的.
EXTRACT(keyword FROM date)-這個函數從提供的日期中摘取出相關信息
例3,
?
SELECT EXTRACT ( DAY FROM NOW ())
?
MYSQL實例就返回當前日期的DAY,本日是16日就返回數字16.
MYSQL實例幾個日期光陰函數
?
DAYOFWEEK(NOW())返回當前日期是這周的第一天,周日是第一天,
DAYNAME(NOW())返回星期的名字
DAYOFMONTH(NOW()) 返回今天是幾號
DAYOFYEAR(NOW()) 返回今天是本年的第多少天
YEAR(NOW()) WEEK(NOW()) MONTH(NOW()) HOUR(NOW()) MINUTE(NOW()) QUARTER(NOW()) SECOND(NOW())
?
MYSQL實例上面都不用說了,分別返回年,周,月,小時,分鐘,秒
為什么沒有日期呢?因為DAYOFMONTH(NOW())就是啊!
那么對于時間戳怎么處理呢?有兩個函數
?UNIX_TIMESTAMP(NOW())返回當前時間的UNIX時間戳
FROM_UNIXTIME(int) 根據UNIX時間戳返回默認格式的時間日期
TIME_TO_SEC和SEC_TO_TIME分別在數字秒數和時間秒數之間轉化
比如TIME_TO_SEC("1:00:00");返回一小時的秒數
還有兩個不太用到的函數
TO_DAYS(date) 返回從0年到date的總天數
FROM_DAYS(x) 進行相反的操作
MYSQL實例還有2個函數
?
PERIOD_ADD(date,month)這個函數必要的DATE格式是這樣的200610,
PERIOD_ADD(200610,-2)返回200608
?
MYSQL實例而另一個函數
PERIOD_DIFF(200608,200610)返回也是-2
MYSQL實例下面是時間日期函數最后的一個重點:格局化
學過C語言的人都知道printf里面的參數%s,%d等等吧.
?
% a? -?? 縮寫的星期名
% b? -?? 縮寫的月份名
% d? -? 月份中的天數
% H? -? 小時 [ 帶前導零 ]
% I? -?? 分鐘 [ 帶前導零 ]
% j? -? 一年中的天數
% m? -? 月份 [ 帶前導零 ]
% M? -? 月份 [ 完整 ]
% p? - [ AM或PM ]
% r? -? 時間 [ 12小時格式 ]
% S? -? 秒 [ 帶前導零 ]
% T? -? 時間 [ 24小時格式 ]
% w? -? 一周中的天數 [ 0 - 6 ]- 這里想欠亨為什么DAYOFWEEK返回的是1 - 7
% W? -? 星期名 [ 完整 ]
% Y? -? 年份 [ 4位數 ]
MYSQL實例例子,
?
SELECT DATE_FORMAT ( NOW (), "%Y-%m-%d" )
?
MYSQL實例上面這句話返回2006 - 10 - 16
還有FROM_UNIXTIME()函數的用法:
?
mysql> SELECT FROM_UNIXTIME(875996580);
??????? -> '1997-10-04 22:23:00'
mysql> SELECT FROM_UNIXTIME(875996580) + 0;
??????? -> 19971004222300
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y %D %M %h:%i:%s %x');
??????? -> '2003 6th August 06:22:58 2003'
MYSQL實例例子,
?
select *,from_unixtime(`datetime`,"%Y-%m-%d") from table
?
MYSQL實例table換成你的表,datetime是你的int型字段名,ok 了試一下吧.
MYSQL實例有關MySQL函數的先容就先容這些了,更多內容參考mysql手冊.
歡迎參與《MYSQL數據庫mysql時間查詢函數 mysql時間戳》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/11610.html