DATE_SUB(NOW(),INTERVAL 5 MINUTE)與DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 5 MINUTE),'%Y-%m-%d %H:%M:%S') [sql] [root@CactiEZ ~]# time mysql -h 172.22.10.32 -ucacti -P3316 -pcacti -e "select count(*) from order.tbl_tieyou_order where order_time > DATE_SUB(NOW(),INTERVAL 5 MINUTE);" -N +-----+ | 112 | +-----+ real 0m0.030s user 0m0.005s sys 0m0.003s [root@CactiEZ ~]# time mysql -h 172.22.10.32 -ucacti -P3316 -pcacti -e "select count(*) from order.tbl_tieyou_order where order_time > DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 5 MINUTE),'%Y-%m-%d %H:%M:%S'); -N" +----------+ | count(*) | +----------+ | 365 | +----------+ real 0m1.602s user 0m0.008s sys 0m0.003s DATE_SUB(NOW(),INTERVAL 5 MINUTE) DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 5 MINUTE),'%Y-%m-%d %H:%M:%S')
數據不一致呢? 這2個語句有什麼區別? 直覺告訴我肯定是格式不對的緣故,於是親自做了測試 果然〉後面的值不一樣了, 其中july這個月份變成ascii碼之後才能再用>符號進行比較 這樣子的話,結果就會不同 一個是純粹的數字字符串,一個中間的月份是英文的,差別在這裡,英文字符串的日期不好做>或者<這樣的處理操作