欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql常用日期時(shí)間/數(shù)值函數(shù)詳解(必看)

 更新時(shí)間:2016年06月22日 11:23:37   投稿:jingxian  
下面小編就為大家?guī)硪黄猰ysql常用日期時(shí)間/數(shù)值函數(shù)詳解(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

1.日期時(shí)間函數(shù)

時(shí)間轉(zhuǎn)化秒函數(shù):time_to_sec

MySQL> select time_to_sec('01:01:01');
+-------------------------+
| time_to_sec('01:01:01') |
+-------------------------+
| 3661 |
+-------------------------+
1 row in set (0.00 sec)

秒轉(zhuǎn)化時(shí)間函數(shù):sec_to_time

mysql> select sec_to_time(3661);
+-------------------+
| sec_to_time(3661) |
+-------------------+
| 01:01:01 |
+-------------------+
1 row in set (0.00 sec)

日期轉(zhuǎn)為天數(shù)函數(shù):to_days

mysql> select to_days('0000-00-00');
+-----------------------+
| to_days('0000-00-00') |
+-----------------------+
| NULL |
+-----------------------+
1 row in set, 1 warning (0.01 sec)

mysql> select to_days('0001-01-01');
+-----------------------+
| to_days('0001-01-01') |
+-----------------------+
| 366 |
+-----------------------+
1 row in set (0.00 sec)

天數(shù)轉(zhuǎn)化日期函數(shù):from_days

mysql> select from_days(0);
+--------------+
| from_days(0) |
+--------------+
| 0000-00-00 |
+--------------+
1 row in set (0.00 sec)

mysql> select from_days(366);
+----------------+
| from_days(366) |
+----------------+
| 0001-01-01 |
+----------------+
1 row in set (0.00 sec)

字符串轉(zhuǎn)換為日期函數(shù):str_to_date

mysql> select str_to_date('2013-01-01 01:21:01','%Y-%m-%d %H:%i:%s');
+--------------------------------------------------------+
| str_to_date('2013-01-01 01:21:01','%Y-%m-%d %H:%i:%s') |
+--------------------------------------------------------+
| 2013-01-01 01:21:01 |
+--------------------------------------------------------+
1 row in set (0.00 sec)

日期轉(zhuǎn)換為字符串函數(shù):date_format

mysql> select date_format('2013-01-01 01:21:01','%Y%m%d %H%i%s');
+----------------------------------------------------+
| date_format('2013-01-01 01:21:01','%Y%m%d %H%i%s') |
+----------------------------------------------------+
| 20130101 012101 |
+----------------------------------------------------+
1 row in set (0.00 sec)

時(shí)間轉(zhuǎn)換為字符串函數(shù):time_format

mysql> select time_format('01:21:01','%H%i%s');
+----------------------------------+
| time_format('01:21:01','%H%i%s') |
+----------------------------------+
| 012101 |
+----------------------------------+
1 row in set (0.00 sec)

說明:

日期時(shí)間格式參數(shù)如下:

%M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 數(shù)字, 4 位
%y 年, 數(shù)字, 2 位
%a 縮寫的星期名字(Sun……Sat)
%d 月份中的天數(shù), 數(shù)字(00……31)
%e 月份中的天數(shù), 數(shù)字(0……31)
%m 月, 數(shù)字(01……12)
%c 月, 數(shù)字(1……12)
%b 縮寫的月份名字(Jan……Dec)
%j 一年中的天數(shù)(001……366)
%H 小時(shí)(00……23)
%k 小時(shí)(0……23)
%h 小時(shí)(01……12)
%I 小時(shí)(01……12)
%l 小時(shí)(1……12)
%i 分鐘, 數(shù)字(00……59)
%r 時(shí)間,12 小時(shí)(hh:mm:ss [AP]M)
%T 時(shí)間,24 小時(shí)(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一個(gè)星期中的天數(shù)(0=Sunday ……6=Saturday )
%U 星期(0……52), 這里星期天是星期的第一天
%u 星期(0……52), 這里星期一是星期的第一天
%% 一個(gè)文字“%”。

提取表達(dá)式的日期部分

mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2013-05-16 |
+-------------+
1 row in set (0.00 sec)

返回表達(dá)式的星期索引(0=星期一,1=星期二, ……6= 星期天)。

mysql> select weekday(now());
+----------------+
| weekday(now()) |
+----------------+
| 3 |
+----------------+
1 row in set (0.00 sec)

返回表達(dá)式是一年的第幾周

mysql> select week(now());
+-------------+
| week(now()) |
+-------------+
| 19 |
+-------------+
1 row in set (0.00 sec)

WEEK()允許指定星期是否開始于星期天或星期一。如果第二個(gè)參數(shù)是0,星期從星期天開始,如果第二個(gè)參數(shù)是1, 從星期一開始,如下所示:

mysql> select week(now(),0);
+---------------+
| week(now(),0) |
+---------------+
| 19 |
+---------------+
1 row in set (0.00 sec)

mysql> select week(now(),1);
+---------------+
| week(now(),1) |
+---------------+
| 20 |
+---------------+
1 row in set (0.00 sec)

返回表達(dá)式一年中季度

mysql> select quarter(now());
+----------------+
| quarter(now()) |
+----------------+
| 2 |
+----------------+
1 row in set (0.00 sec)

返回表達(dá)式一周的第一天

mysql> select dayofweek(now());
+------------------+
| dayofweek(now()) |
+------------------+
| 5 |
+------------------+
1 row in set (0.00 sec)

返回表達(dá)式一個(gè)月的第幾天

mysql> select dayofmonth(now());
+-------------------+
| dayofmonth(now()) |
+-------------------+
| 16 |
+-------------------+
1 row in set (0.00 sec)

返回表達(dá)式一年的第幾天

mysql> select dayofyear(now());
+------------------+
| dayofyear(now()) |
+------------------+
| 136 |
+------------------+
1 row in set (0.00 sec)

返回表達(dá)式的星期名字

mysql> select dayname(now());
+----------------+
| dayname(now()) |
+----------------+
| Thursday |
+----------------+
1 row in set (0.00 sec)

返回表達(dá)式月份的名字

mysql> select monthname(now());
+------------------+
| monthname(now()) |
+------------------+
| May |
+------------------+
1 row in set (0.00 sec)

mysql>

提取表達(dá)式的年份

mysql> select year(now());
+-------------+
| year(now()) |
+-------------+
| 2013 |
+-------------+
1 row in set (0.00 sec)

提取表達(dá)式的月份

mysql> select month(now());
+--------------+
| month(now()) |
+--------------+
| 5 |
+--------------+
1 row in set (0.01 sec)

提取表達(dá)式的天數(shù)

mysql> select day(now());
+------------+
| day(now()) |
+------------+
| 16 |
+------------+
1 row in set (0.00 sec)

提取表達(dá)式的小時(shí)

mysql> select hour(now());
+-------------+
| hour(now()) |
+-------------+
| 16 |
+-------------+
1 row in set (0.00 sec)

提取表達(dá)式的分鐘

mysql> select minute(now());
+---------------+
| minute(now()) |
+---------------+
| 31 |
+---------------+
1 row in set (0.00 sec)

提取表達(dá)式的秒數(shù)

mysql> select second(now());
+---------------+
| second(now()) |
+---------------+
| 34 |
+---------------+
1 row in set (0.00 sec)


將當(dāng)前日期按照'YYYY-MM-DD' 或YYYYMMDD 格式的值返回,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語境中而定。

mysql> select curdate();
+------------+
| curdate() |
+------------+
| 2013-05-16 |
+------------+
1 row in set (0.00 sec)

mysql> select curdate()+1;
+-------------+
| curdate()+1 |
+-------------+
| 20130517 |
+-------------+
1 row in set (0.00 sec)

將當(dāng)前時(shí)間以'HH:MM:SS'或 HHMMSS的格式返回,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語境中而定。

mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 16:43:10 |
+-----------+
1 row in set (0.00 sec)

mysql> select curtime()+1;
+---------------+
| curtime()+1 |
+---------------+
| 164420.000000 |
+---------------+
1 row in set (0.00 sec)

獲取當(dāng)前日期時(shí)間:sysdate(),now()

mysql> select sysdate(),sleep(2),sysdate();
+---------------------+----------+---------------------+
| sysdate() | sleep(2) | sysdate() |
+---------------------+----------+---------------------+
| 2013-05-16 17:16:04 | 0 | 2013-05-16 17:16:06 |
+---------------------+----------+---------------------+
1 row in set (2.00 sec)

mysql> select now(),sleep(2),now();
+---------------------+----------+---------------------+
| now() | sleep(2) | now() |
+---------------------+----------+---------------------+
| 2013-05-16 17:16:18 | 0 | 2013-05-16 17:16:18 |
+---------------------+----------+---------------------+
1 row in set (2.00 sec)
從上面可以看到sysdate和now的區(qū)別,now表示語句開始的時(shí)間,而sysdate實(shí)時(shí)的獲取時(shí)間


將當(dāng)前日期按照'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式的值返回,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語境中而定。

mysql> select current_timestamp;
+---------------------+
| current_timestamp |
+---------------------+
| 2013-05-16 17:19:51 |
+---------------------+
1 row in set (0.00 sec)

mysql> select current_timestamp+1;
+-----------------------+
| current_timestamp+1 |
+-----------------------+
| 20130516172008.000000 |
+-----------------------+
1 row in set (0.00 sec)

unix_timestamp(),unix_timestamp(date)

如果沒有參數(shù)調(diào)用,返回一個(gè)Unix時(shí)間戳記(從'1970-01-01 00:00:00'GMT開始的秒數(shù))。如果UNIX_TIMESTAMP()用一
個(gè)date參數(shù)被調(diào)用,它返回從'1970-01-01 00:00:00' GMT開始的秒數(shù)值。date可以是一個(gè)DATE字符串、一個(gè)DATETIME
字符串、一個(gè)TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地時(shí)間的一個(gè)數(shù)字。
mysql> select unix_timestamp();
+------------------+
| unix_timestamp() |
+------------------+
| 1368696216 |
+------------------+
1 row in set (0.00 sec)

mysql> select unix_timestamp('2013-05-16 01:01:01');
+---------------------------------------+
| unix_timestamp('2013-05-16 01:01:01') |
+---------------------------------------+
| 1368637261 |
+---------------------------------------+
1 row in set (0.00 sec)

mysql>

FROM_UNIXTIME(unix_timestamp)

以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp參數(shù)所表示的值,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語境中而定

mysql> select from_unixtime(1368637261);
+---------------------------+
| from_unixtime(1368637261) |
+---------------------------+
| 2013-05-16 01:01:01 |
+---------------------------+
1 row in set (0.00 sec)

mysql> select from_unixtime(1368637261)+1;
+-----------------------------+
| from_unixtime(1368637261)+1 |
+-----------------------------+
| 20130516010102.000000 |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select from_unixtime(1368637261,'%Y-%m-%d %h:%i:%s');
+-----------------------------------------------+
| from_unixtime(1368637261,'%Y-%m-%d %h:%i:%s') |
+-----------------------------------------------+
| 2013-05-16 01:01:01 |
+-----------------------------------------------+
1 row in set (0.00 sec)

返回表達(dá)式所在月的最后一天

mysql> select last_day(now());
+-----------------+
| last_day(now()) |
+-----------------+
| 2013-05-31 |
+-----------------+
1 row in set (0.00 sec)

日期加減運(yùn)算

DATE_ADD(date,INTERVAL expr type) --加法
DATE_SUB(date,INTERVAL expr type) --減法


mysql> select date_add('2013-05-16 01:01:01',interval 1 second);
+---------------------------------------------------+
| date_add('2013-05-16 01:01:01',interval 1 second) |
+---------------------------------------------------+
| 2013-05-16 01:01:02 |
+---------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add('2013-05-16 01:01:01',interval 1 day);
+------------------------------------------------+
| date_add('2013-05-16 01:01:01',interval 1 day) |
+------------------------------------------------+
| 2013-05-17 01:01:01 |
+------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add('2013-05-16 01:01:01',interval 1 minute);
+---------------------------------------------------+
| date_add('2013-05-16 01:01:01',interval 1 minute) |
+---------------------------------------------------+
| 2013-05-16 01:02:01 |
+---------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add('2013-05-16 01:01:01',interval 1 hour);
+-------------------------------------------------+
| date_add('2013-05-16 01:01:01',interval 1 hour) |
+-------------------------------------------------+
| 2013-05-16 02:01:01 |
+-------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add('2013-05-16 01:01:01',interval '1:1' minute_second);
+--------------------------------------------------------------+
| date_add('2013-05-16 01:01:01',interval '1:1' minute_second) |
+--------------------------------------------------------------+
| 2013-05-16 01:02:02 |
+--------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add('2013-05-16 01:01:01', interval '1 1:1:1' day_second);
+----------------------------------------------------------------+
| date_add('2013-05-16 01:01:01', interval '1 1:1:1' day_second) |
+----------------------------------------------------------------+
| 2013-05-17 02:02:02 |
+----------------------------------------------------------------+
1 row in set (0.00 sec)


type值格式:

SECOND 秒 SECONDS
MINUTE 分鐘 MINUTES
HOUR 時(shí)間 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分鐘和秒 "MINUTES:SECONDS"
HOUR_MINUTE 小時(shí)和分鐘 "HOURS:MINUTES"
DAY_HOUR 天和小時(shí) "DAYS HOURS"
YEAR_MONTH 年和月 "YEARS-MONTHS"
HOUR_SECOND 小時(shí), 分鐘, "HOURS:MINUTES:SECONDS"
DAY_MINUTE 天, 小時(shí), 分鐘 "DAYS HOURS:MINUTES"
DAY_SECOND 天, 小時(shí), 分鐘, 秒 "DAYS HOURS:MINUTES:SECONDS"

DATEDIFF(expr, expr2)

返回起始時(shí)間 expr和結(jié)束時(shí)間expr2之間的天數(shù)。Expr和expr2為日期或 date-and-time 表達(dá)式。計(jì)算中只用到這些值的日期部分。

mysql> select datediff('2013-05-16 06:01:01', '2013-05-17 01:01:01');
+--------------------------------------------------------+
| datediff('2013-05-16 06:01:01', '2013-05-17 01:01:01') |
+--------------------------------------------------------+
| -1 |
+--------------------------------------------------------+
1 row in set (0.00 sec)

表示日期時(shí)間的數(shù)據(jù)類型:

date
time
year
datetime
timestamp

在使用日期時(shí)間數(shù)據(jù)比較時(shí)常用如下

mysql> select * from tab ;
+------+---------------------+
| name | createtime |
+------+---------------------+
| aaaa | 2013-05-14 17:20:19 |
| bbbb | 2013-04-14 17:20:36 |
| bbbb | 2013-04-13 17:20:36 |
| bbbb | 2013-04-15 17:20:36 |
+------+---------------------+
4 rows in set (0.00 sec)

mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2013-05-14 17:10:26 |
+---------------------+
1 row in set (0.00 sec)

mysql> select * from tab where createtime > now();
+------+---------------------+
| name | createtime |
+------+---------------------+
| aaaa | 2013-05-14 17:20:19 |
+------+---------------------+
1 row in set (0.00 sec)

mysql> select current_timestamp;
+---------------------+
| current_timestamp |
+---------------------+
| 2013-05-14 17:10:49 |
+---------------------+
1 row in set (0.00 sec)

mysql> select * from tab where createtime > current_timestamp;
+------+---------------------+
| name | createtime |
+------+---------------------+
| aaaa | 2013-05-14 17:20:19 |
+------+---------------------+
1 row in set (0.00 sec)

mysql> select * from tab where createtime> str_to_date('2013-05-14 00:00:00','%Y-%m-%d %H:%i:%s');;
+------+---------------------+
| name | createtime |
+------+---------------------+
| aaaa | 2013-05-14 17:20:19 |
+------+---------------------+
1 row in set (0.00 sec)

mysql> select * from tab where createtime between str_to_date('2013-05-14 00:00:00','%Y-%m-%d %H:%i:%s') and str_to_date('2013-05-15 00:00:00','%Y-%m-%d %H:%i:%s')
-> ;
+------+---------------------+
| name | createtime |
+------+---------------------+
| aaaa | 2013-05-14 17:20:19 |
+------+---------------------+
1 row in set (0.00 sec)

mysql> select * from tab where createtime between '2013-05-14 00:00:00' and '2013-05-15 00:00:00';
+------+---------------------+
| name | createtime |
+------+---------------------+
| aaaa | 2013-05-14 17:20:19 |
+------+---------------------+
1 row in set (0.00 sec)

mysql>

2.數(shù)值函數(shù)

ABS(X) :返回表達(dá)式X的絕對值

mysql> select abs(-2);
+---------+
| abs(-2) |
+---------+
| 2 |
+---------+
1 row in set (0.00 sec)

FLOOR(X) :返回不大于X的最大整數(shù)值

mysql> select floor(-2.45);
+--------------+
| floor(-2.45) |
+--------------+
| -3 |
+--------------+
1 row in set (0.00 sec)

MOD(N,M):模操作,返回N被M除后的余數(shù)。

mysql> select mod(3,2);
+----------+
| mod(3,2) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)

RAND()/RAND(N) :返回一個(gè)隨機(jī)浮點(diǎn)值數(shù)a,范圍在 0 到1 之間 (即, 其范圍為 0 ≤ a ≤ 1.0)。若已指定一個(gè)整數(shù)參數(shù) N,則它被用作種子值,用來產(chǎn)生重復(fù)序列。

mysql> select rand();
+-------------------+
| rand() |
+-------------------+
| 0.294932589209576 |
+-------------------+
1 row in set (0.00 sec)

mysql> select rand(2);
+-------------------+
| rand(2) |
+-------------------+
| 0.655586646549019 |
+-------------------+
1 row in set (0.00 sec)

ROUND(X)/ROUND(X,D) :返回參數(shù)X, 其值接近于最近似的整數(shù)。在有兩個(gè)參數(shù)的情況下,返回 X ,其值保留到小數(shù)點(diǎn)后D位,而第D位的保留方式為四舍五入。若要接保留X值小數(shù)點(diǎn)左邊的D位,可將D設(shè)為負(fù)值。

mysql> select round(2.4 );
+-------------+
| round(2.4 ) |
+-------------+
| 2 |
+-------------+
1 row in set (0.00 sec)

mysql> select round(2.432,2 );
+-----------------+
| round(2.432,2 ) |
+-----------------+
| 2.43 |
+-----------------+
1 row in set (0.00 sec)

mysql> select round(12.432,-1 );
+-------------------+
| round(12.432,-1 ) |
+-------------------+
| 10 |
+-------------------+
1 row in set (0.00 sec)

以上就是小編為大家?guī)淼膍ysql常用日期時(shí)間/數(shù)值函數(shù)詳解(必看)全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • MYSQL滿足條件函數(shù)里放查詢最大函數(shù)的方法(最新推薦)

    MYSQL滿足條件函數(shù)里放查詢最大函數(shù)的方法(最新推薦)

    在MySQL中,如果我們想要在一個(gè)條件函數(shù)如CASE內(nèi)部使用聚合函數(shù)如MAX獲取某個(gè)字段的最大值,我們通常需要在外部查詢或子查詢中執(zhí)行這個(gè)聚合操作,并將結(jié)果作為參數(shù)傳遞給條件函數(shù),下面通過實(shí)例代碼講解MYSQL滿足條件函數(shù)里放查詢最大函數(shù)的方法,感興趣的朋友一起看看吧
    2024-05-05
  • MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過程

    MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過程

    MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過程,需要的朋友可以參考下。
    2011-08-08
  • mYsql日期和時(shí)間函數(shù)不求人

    mYsql日期和時(shí)間函數(shù)不求人

    mYsql日期和時(shí)間函數(shù)不求人...
    2007-04-04
  • mysql 5.5.x zip直接解壓版安裝方法

    mysql 5.5.x zip直接解壓版安裝方法

    這篇文章主要介紹了mysql 5.5.x zip直接解壓版安裝方法 ,需要的朋友可以參考下
    2016-04-04
  • 最新評(píng)論