專案需求:
傳感器大資料量資料表,按照日期自動磁區,現根據時間篩選條件進行跨磁區查詢資料,
表磁區查詢陳述句語法
mysql表磁區查詢記錄
SELECT * FROM t PARTITION(p0, p1);
時間篩選格式
$fromTime 2021-01-07 00:32:00
$toTime 2021-01-06 15:32:00
封裝函式
/*獲取查詢磁區名稱
*$pre,磁區前綴;
* $fromTime,起始時間;
* $toTime,結束時間,默認當前時間;
* */
function getPart($pre, $fromTime, $toTime)
{
//防止結束時間為空;
if ($toTime == "") {
$toTime = date("Y-m-d");
}
//轉為標準時間格式2021-01-06;
$t1 = date("Y-m-d", strtotime($fromTime));
$t2 = date("Y-m-d", strtotime($toTime));
//判斷兩個日期之差;
$diff = (strtotime($t2) - strtotime($t1)) / 86400;
//回傳拼接磁區名稱;
if ($diff == "0") {
return $pre . date('Ymd', strtotime($fromTime));
}
if ($diff == "1") {
$p1 = $pre . date('Ymd', strtotime($fromTime));
$p2 = $pre . date('Ymd', strtotime($toTime));
return $p1 . "," . $p2;
}
if ($diff == "2") {
$p1 = $pre . date('Ymd', strtotime($fromTime));
$p2 = $pre . date('Ymd', strtotime("+1 day", strtotime($fromTime)));
$p3 = $pre . date('Ymd', strtotime($toTime));
return $p1 . "," . $p2 . "," . $p3;
}
}
echo(getPart('jk_data', '2021-01-03 11:00:00', '2021-01-05 14:05:04'));
//jk_data20210103,jk_data20210104,jk_data20210105
Done!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/246222.html
標籤:其他
上一篇:Ambari 學習指南
下一篇:常用資料庫查詢陳述句
