select?current_date?as?Systemtime;
我們提供的服務(wù)有:網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、高邑ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的高邑網(wǎng)站制作公司
第一種方法:select?current_date;
mysql?select?current_date?as?Systemtime;
+------------+
|?Systemtime?|
+------------+
|?2009-07-29?|
+------------+
第二種方法:select?now()
mysql?select?now()?as?Systemtime;
+---------------------+
|?Systemtime??????????|
+---------------------+
|?2009-07-29?19:06:07?|
+---------------------+
第三種方法:select?sysdate()
mysql?select?sysdate()?as?Systemtime;
+---------------------+
|?Systemtime??????????|
+---------------------+
|?2009-07-29?19:06:45?|
+---------------------+
一,uptime 可以查看系統(tǒng)的運(yùn)行時(shí)間
show global status like 'uptime';
二,利用linux命令查看
Linux 下有個(gè) uptime 可以查看系統(tǒng)的運(yùn)行時(shí)間,可是 MySQL 可沒這個(gè)命令
不過用 ps 命令也可以做到
[root@dbserver ~]# ps aux | grep mysql
root 29090 0.0 0.0 70232 1364 ? S Jun05 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/dbserver.pid
看到了吧, Jun05 就表示這個(gè)服務(wù)是在6月5日啟動(dòng)的,算一下運(yùn)行了多久了呢?
三,利用phpmyadmin的狀態(tài)中可以看如下信息
這臺(tái) MySQL 服務(wù)器已經(jīng)運(yùn)行了 0 天 6 小時(shí),30 分 16 秒,啟動(dòng)時(shí)間為 2014 年 01 月 02 日 08:39。
取得當(dāng)前時(shí)間用 now() 就行。
在數(shù)據(jù)庫中格式化時(shí)間 用DATE_FORMA T(date, format) .
根據(jù)格式串format 格式化日期或日期和時(shí)間值date,返回結(jié)果串。
可用DATE_FORMAT( ) 來格式化DATE 或DATETIME 值,以便得到所希望的格式。根據(jù)format字符串格式化date值:
%S, %s 兩位數(shù)字形式的秒( 00,01, . . ., 59)
%i 兩位數(shù)字形式的分( 00,01, . . ., 59)
%H 兩位數(shù)字形式的小時(shí),24 小時(shí)(00,01, . . ., 23)
%h, %I 兩位數(shù)字形式的小時(shí),12 小時(shí)(01,02, . . ., 12)
%k 數(shù)字形式的小時(shí),24 小時(shí)(0,1, . . ., 23)
%l 數(shù)字形式的小時(shí),12 小時(shí)(1, 2, . . ., 12)
%T 24 小時(shí)的時(shí)間形式(h h : m m : s s)
%r 12 小時(shí)的時(shí)間形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM 或P M
%W 一周中每一天的名稱( S u n d a y, Monday, . . ., Saturday)
%a 一周中每一天名稱的縮寫( Sun, Mon, . . ., Sat)
%d 兩位數(shù)字表示月中的天數(shù)( 00, 01, . . ., 31)
%e 數(shù)字形式表示月中的天數(shù)( 1, 2, . . ., 31)
%D 英文后綴表示月中的天數(shù)( 1st, 2nd, 3rd, . . .)
%w 以數(shù)字形式表示周中的天數(shù)( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday)
%j 以三位數(shù)字表示年中的天數(shù)( 001, 002, . . ., 366)
% U 周(0, 1, 52),其中Sunday 為周中的第一天
%u 周(0, 1, 52),其中Monday 為周中的第一天
%M 月名(J a n u a r y, February, . . ., December)
%b 縮寫的月名( J a n u a r y, February, . . ., December)
%m 兩位數(shù)字表示的月份( 01, 02, . . ., 12)
%c 數(shù)字表示的月份( 1, 2, . . ., 12)
%Y 四位數(shù)字表示的年份
%y 兩位數(shù)字表示的年份
%% 直接值“%”
select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test
獲得當(dāng)前日期+時(shí)間(date + time)函數(shù):now()
除了 now() 函數(shù)能獲得當(dāng)前的日期時(shí)間外,MySQL 中還有下面的函數(shù):
current_timestamp() current_timestamp
localtime() localtime
localtimestamp() localtimestamp
這些日期時(shí)間函數(shù),都等同于 now()。鑒于 now() 函數(shù)簡短易記,建議總是使用 now() 來替代上面列出的函數(shù)。
1.2 獲得當(dāng)前日期+時(shí)間(date + time)函數(shù):sysdate()
sysdate() 日期時(shí)間函數(shù)跟 now() 類似,不同之處在于:now() 在執(zhí)行開始時(shí)值就得到了, sysdate() 在函數(shù)執(zhí)行時(shí)動(dòng)態(tài)得到值。
獲得當(dāng)前日期(date)函數(shù):curdate()
其中,下面的兩個(gè)日期函數(shù)等同于 curdate(): current_date(),current_date
獲得當(dāng)前時(shí)間(time)函數(shù):curtime()
其中,下面的兩個(gè)時(shí)間函數(shù)等同于 curtime():current_time(),current_time
獲得當(dāng)前 UTC 日期時(shí)間函數(shù):utc_date(), utc_time(), utc_timestamp()
可以了解一下MySQL的時(shí)間戳(Timestamp)數(shù)據(jù)類型:
默認(rèn)時(shí)間戳(Timestamp)類型的取值范圍為'1970-01-01 00:00:01' UTC至'2038-01-19 03:14:07' UTC,數(shù)據(jù)精確到秒級別,該取值范圍包含約22億個(gè)數(shù)值,因此在MySQL內(nèi)部使用4個(gè)字節(jié)INT類型來存放時(shí)間戳數(shù)據(jù):
1、在存儲(chǔ)時(shí)間戳數(shù)據(jù)時(shí),先將本地時(shí)區(qū)時(shí)間轉(zhuǎn)換為UTC時(shí)區(qū)時(shí)間,再將UTC時(shí)區(qū)時(shí)間轉(zhuǎn)換為INT格式的毫秒值(使用UNIX_TIMESTAMP函數(shù)),然后存放到數(shù)據(jù)庫中。
2、在讀取時(shí)間戳數(shù)據(jù)時(shí),先將INT格式的毫秒值轉(zhuǎn)換為UTC時(shí)區(qū)時(shí)間(使用FROM_UNIXTIME函數(shù)),然后再轉(zhuǎn)換為本地時(shí)區(qū)時(shí)間,最后返回給客戶端。
(Timestamp)時(shí)間戳列可以有四張組合定義,其含義分別為:
1、當(dāng)字段定義為timestamp,表示該字段在插入和更新時(shí)都不會(huì)自動(dòng)設(shè)置為當(dāng)前時(shí)間。
2、當(dāng)字段定義為timestamp DEFAULT CURRENT_TIMESTAMP,表示該字段僅在插入且未指定值時(shí)被賦予當(dāng)前時(shí)間,再更新時(shí)且未指定值時(shí)不做修改。
3、當(dāng)字段定義為timestamp ON UPDATE CURRENT_TIMESTAMP,表示該字段在插入且未指定值時(shí)被賦值為"0000-00-00 00:00:00",在更新且未指定值時(shí)更新為當(dāng)前時(shí)間。
4、當(dāng)字段定義為timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,表示該字段在插入或更新時(shí)未指定值,則被賦值為當(dāng)前時(shí)間。
mysql 日期時(shí)間查詢
MySQL數(shù)據(jù)庫中year()函數(shù)是求某個(gè)特定日期中的年份,代碼如下:
select '2015-08-11' as date,year('2015-08-11') as year;
確定一個(gè)日期是一年中的第幾個(gè)季度,可以用QUARTER()函數(shù)實(shí)現(xiàn),代碼如下:
SELECT '2015-08-11' AS DATE,QUARTER('2015-08-11') AS QUARTER;
返回一個(gè)日期是一年中的月份,利用month()函數(shù)實(shí)現(xiàn),代碼如下:
SELECT '2015-08-11' AS DATE,MONTH('2015-08-11') AS MONTH;
獲取一個(gè)確定日期是一個(gè)月份中的多少號,可以用day()函數(shù)求得,具體實(shí)現(xiàn)代碼如下:
SELECT '2015-08-11' AS DATE,DAY('2015-08-11') AS DAY;
有時(shí)日期中帶有時(shí)間,而如何獲取小時(shí)數(shù),這可以利用自帶的函數(shù)hour()實(shí)現(xiàn),代碼如下:
SELECT '2015-08-11 12:20:45' AS DATE,HOUR('2015-08-11 12:20:45') AS HOUR;