我想在某些条件下更新DURASI_KENDALA
列。这是我在model.php上的代码
public function durasikendala() {
$str = "UPDATE dbhpl.pelayanan SET pelayanan.DURASI_KENDALA = "
. "CASE WHEN pelayanan.ID_KENDALA == 1 OR pelayanan.ID_KENDALA == 2 OR "
. " pelayanan.ID_KENDALA == 6 OR pelayanan.ID_KENDALA == 7"
. " THEN pelayanan.ESTIMASI "
. " WHEN pelayanan.ID_KENDALA == 3 OR pelayanan.ID_KENDALA == 4 OR "
. " pelayanan.ID_KENDALA == 8 OR pelayanan.ID_KENDALA == 9"
. " THEN pelayanan.LAMA "
. " WHEN pelayanan.ID_KENDALA == 5 THEN (pelayanan.LAMA - pelayanan.HARI_LIBUR) END";
$this->db->query($str);
if ($this->db->affected_rows() > 0) {
return true;
} else {
return false;
}
}
但是,代码无法运行,因为操作aritmetic:
WHEN pelayanan.ID_KENDALA == 5 THEN (pelayanan.LAMA - pelayanan.HARI_LIBUR)
条件是 如果ID_KENDALA = 5,那么DURASI_KENDALA = LAMA - HARI_LIBUR
int中的数据类型已经相同。
我该如何解决这个问题?