2016-03-02 1 views
0

Что было бы лучшим способом найти разницу в двух датах: start_date и account_add_date, а затем вставить в столбец account_age?вставить возраст учетной записи MYSQL-запрос

Что мне нужно для того, чтобы пользователь мог выбрать start_date сказать свой январь.

Затем дата, когда они добавили account_add_date сказать, март.

Разница составляет 2 месяца, так в account_age будет 2,

затем в апреле, что 2 будет 3. 4 мая, 5 июня и так далее

Доза кто знает, как это сделать?

Моя текущая вставка MODEL запрос

function create_bank() 
{ 
    $this->load->helper('date'); 

    $new_bank_acc_insert_data = array(
     'bank_name' => $this->input->post('bank_name'), 
     'interest' => ($this->input->post('interest')/100), 
     'start_amount' => $this->input->post('start_amount'), 
     'length' => $this->input->post('length'), 
     'start_date' => date('Y-m-d',strtotime($this->input->post('start_date'))), 
     'mem_id' => $this->session->userdata('id'), 
     'account_add_date' => $this->current_date() 
    ); 

    $insert = $this->db->insert('bank', $new_bank_acc_insert_data); 
    return $insert; 
} 

Идея на поиске счета возраст

SELECT DATEDIFF('start_date','account_add_date') 
+0

'Функция DATEDIFF' возвращает разницу в двух дат в' days', который является более точным по сравнению с различием в 'month'. – 1000111

+0

хорошо, спасибо, может, дни работы – Beep

ответ

2
SELECT  
(
    12* (YEAR(account_add_date) - YEAR(start_date)) + 
      (MONTH(account_add_date) - MONTH(start_date)) 
) AS differenceInMonth 
FROM 
YOUR_TABLE 

Хотя DATEDIFF функция возвращает разницу в двух дат в днях, который является более точным по сравнению с разницей в месяце

Пояснение:

Пример:

start_date = 2014 March 

account_add_date = 2015 January 

YEAR(account_add_date) = 2015 

YEAR(start_date) = 2014 

MONTH(account_add_date) = 1 

MONTH(start_date) = 3 

So according to the query: 

12 * (2015-2014) + (1-3) = 12 * 1 - 2 = 10 (Months) 
+1

Спасибо, дни могут работать для меня (лучше даже), Но как я могу запустить этот запрос одновременно с моим INSERT и добавить его в столбец Account_Age? – Beep

+0

Пожалуйста, разместите свой полный запрос вставки. @Beep – 1000111

+0

ОБНОВЛЕНО с полным просмотром и кодом модели, не так много в контроллере только для проверки. – Beep