2015-01-15 98 views

回答

1

是......

使用If Exist/else語句。你的其他人可以返回時間戳。

0

如果您使用的MySQLi:

<?php 

$result = mysqli_query($conn, "SELECT timestamp FROM table WHERE id = 10"); 

/* determine number of rows result set */ 
$row_cnt = mysqli_num_rows($result); 

if ($row_cnt == 0) { 

    echo '0000-00-00 00:00:00'; 

    //or store as a variable to use else where. 

    $my_result = '0000-00-00 00:00:00'; 

} else { 

    // else if there are results, do something ... 

} 
1

如果你想有一個選擇它,而不是用的if-else或PHP /等等,下面的技巧應該工作處理得:

SELECT COALESCE(t1.timestamp,t2.tst_hack) timestamp 
FROM table t1 
RIGHT JOIN (SELECT 10 as id, '0000-00-00 00:00:00' as tst_hack) t2 ON t1.id=t2.id; 

(只注意它是真正的黑客,所以你應該有它一個很好的理由)

[更新]

如果存在匹配的id並且其時間戳爲NULL,則COALESCE也會將其覆蓋爲'0000-00-00 00:00:00'。如果這是一個問題並且保留NULL值很重要,那麼IF(t1.id IS NULL, t2.tst_hack, t1.timestamp)COALESCE更好。

+1

Hooray for RIGHT JOIN – Strawberry