Я пытаюсь найти максимальное значение, содержащееся в двух отдельных полях моей таблицы.
Код, который я использую в моей модели:
$query = $this->db->query("select max($field1) as max_id_1 from default_table1");
$row1 = $query->row_array();
$query = $this->db->query("select max($field2) as max_id_2 from default_table1");
$row2 = $query->row_array();
return max($row1['max_id_1'], $row2['max_id_2']);
Я полный новичок в том, что касается PHP и CodeIgniter - так как я уверен, что мой код демонстрирует:)
Он работает, поскольку возвращает значения, но не максимальные значения, которые у меня есть в полях. Например, я знаю, что есть значение 4000, но самое высокое возвращаемое значение равно 750.
Мне интересно, если это потому, что поля имеют тип VARCHAR, потому что, хотя они в основном содержат числа, есть некоторые, которые содержат символы (- или &) или слово 'to', поэтому я не мог использовать тип INT.
Из-за использования VARCHAR он не видит, что 4000 больше 750?
Если это так, есть ли способ преобразовать содержимое поля в целочисленное значение перед проверкой максимального значения, и на это будут влиять нецелые значения в полях?
Все предложения помощи и совета принимаются с благодарностью.
Tony.