简体   繁体   中英

Query capturing timestamp 0000-00-00 00:00:00

How do I get this query to not pick up timestamps with the default DatePercentUpdate = 0000-00-00 00:00:00? I thought I had it by using 0, but it captures the 0000-00-00 00:00:00's.

$stmtSummary = $mysqliSummary
    ->prepare("SELECT n.nodeID, n.percentRedYellow, n.count, c.Loopback_ip, c.city 
               FROM CATV.CableData  c 
               INNER JOIN CATV.node n ON n.nodeID = c.Node_ID   
               INNER JOIN CATV.CM cm ON cm.LoopbackIP=c.Loopback_ip
               WHERE c.LocationID IS NOT NULL 
                 AND c.Status_Update_Time <= NOW() 
                 AND c.Status_Update_Time >=(NOW() - INTERVAL 2 DAY) 
                 AND c.Status_Update_Time>0
                 AND n.DatePercentUpdate <= NOW() 
                 AND n.DatePercentUpdate >=(NOW() - INTERVAL 2 DAY) 
                 AND n.DatePercentUpdate>0
                 AND length(c.Node_ID)>0
               Group BY c.city, n.nodeID");

Added: I tried searching online to use 0000-00-00 00:00:00 in the query, but didn't find anything with that in a filter.

You can simply use the > (greater than) comparison operator or the != (doesn't equal) comparison operator like so

WHERE `date_field` != '0000-00-00 00:00:00'

The example will get all rows where your date doesn't equal that value.

Capture Query where timestamp is 0000-00-00 00:00:00

To select rows select * from table_name where your_column = 0;

To update rows UPDATE table_name SET column_name = new_value where your_column = 0;

This will fix

mysql incorrect datetime value: '0000-00-00 00:00:00' mysql error

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM