我有以下MySQL查询:

$sql = "SELECT `eid` FROM `"._ST_EVENT."` WHERE `tid` = ".$tid." AND DATE(`zeitpunkt`) >= CURDATE() ORDER BY `zeitpunkt` ASC;";


变量$tid可以为NULL,但应解释为'0'。是否可以直接在mysql查询中执行此操作,或者在执行查询之前是否应该有一个if子句?

if ($tid == NULL) {
    $tid = 0;
}


谢谢!

最佳答案

要么:

$sql = "SELECT `eid` FROM `"._ST_EVENT."` WHERE `tid` = ".(!$tid ? 0 : $tid)." AND DATE(`zeitpunkt`) >= CURDATE() ORDER BY `zeitpunkt` ASC;";

关于mysql - MySQL-将NULL解释为0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10862080/

10-13 00:57