中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL 5.5中怎么利用UNIX_TIMESTAMP實現分區

發布時間:2021-08-04 17:41:05 來源:億速云 閱讀:134 作者:Leah 欄目:數據庫

MySQL 5.5中怎么利用UNIX_TIMESTAMP實現分區,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。


 
Sql代碼 
show variables like '%partition%' 
如果系統輸出如下結果,那么恭喜你,MySQL支持分區!
 
Sql代碼 
variable_name            value 
have_partitioning        yes 
 
 
Sql代碼 
CREATE TABLE quarterly_report_status ( 
report_id INT NOT NULL, 
    report_status VARCHAR(20) NOT NULL, 
    report_updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

PARTITION BY RANGE ( UNIX_TIMESTAMP(report_updated) ) ( 
    PARTITION p0 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-01-01 00:00:00') ), 
    PARTITION p1 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-02-01 00:00:00') ), 
    PARTITION p2 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-03-01 00:00:00') ), 
    PARTITION p3 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-04-01 00:00:00') ), 
    PARTITION p4 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-05-01 00:00:00') ), 
    PARTITION p5 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-06-01 00:00:00') ), 
    PARTITION p6 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-07-01 00:00:00') ), 
    PARTITION p7 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-08-01 00:00:00') ), 
    PARTITION p8 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-09-01 00:00:00') ), 
    PARTITION p9 VALUES LESS THAN (MAXVALUE) 
); 
 
官方文檔說從MySQL 5.1.43開始,除了TIMESTAMP 外,其他日期類型都不接受!
 
偶雖然沒有嘗試,至于你信不信,反正我是信了!
 
 
Explain Partitions SQL測試,看看是否有效:
 
Sql代碼 
explain partitions select * FROM quarterly_report_status q where q.report_updated<'2011-02-01 00:00:00'; 
 輸出:
 
| id | select_type | table | partitions | type | possible_keys | key  | key_len| ref     | rows | Extra       |
|  1 | SIMPLE        | q       | p0,p1       | ALL  | NULL              | NULL | NULL    | NULL |    2    | Using where |
1 row in set (0.00 sec)
 
非常棒,完美!
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
 
【轉】相關函數:from_unixtime(date)
 
date為需要處理的參數(該參數是Unix 時間戳),可以是字段名,也可以直接是Unix 時間戳字符串
 
后面的 '%Y%m%d' 主要是將返回值格式化(可有可無)
 
例如:
>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' ) 
->20071120
 
mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' )
->2007年11月20
 
UNIX_TIMESTAMP() 是與之相對正好相反的時間函數
 
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
 
  若無參數調用,則返回一個 Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒數) 作為無符號整數。若用date 來調用 UNIX_TIMESTAMP(),它會將參數值以'1970-01-01 00:00:00' GMT后的秒數的形式返回。date 可以是一個 DATE 字符串、一個 DATETIME字符串、一個 TIMESTAMP或一個當地時間的YYMMDD 或YYYMMDD格式的數字。
 
例如:
mysql> SELECT UNIX_TIMESTAMP() ; (執行使得時間:2009-08-06 10:10:40)
->1249524739
mysql> SELECT UNIX_TIMESTAMP('2009-08-06') ;
->1249488000
SELECT * FROM `student` WHERE regTime > UNIX_TIMESTAMP( curdate( ) )

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄大仙区| 祁连县| 昌都县| 慈溪市| 永川市| 江永县| 灌阳县| 夏邑县| 滁州市| 深州市| 永登县| 加查县| 阜阳市| 黔东| 武夷山市| 新营市| 饶河县| 龙门县| 彰化县| 大兴区| 肇源县| 铜鼓县| 大新县| 南川市| 阿荣旗| 长宁区| 长治市| 大名县| 福海县| 上思县| 栖霞市| 翁牛特旗| 金溪县| 兴安盟| 乌兰县| 定结县| 阳信县| 和林格尔县| 山丹县| 济宁市| 无极县|