【问题标题】:insert age of account MYSQL query插入帐户年龄 MYSQL 查询
【发布时间】:2016-03-02 16:02:23
【问题描述】:

找出start_dateaccount_add_date 两个日期之间的差异然后插入到名为account_age 的列中的最佳方法是什么?

我需要让用户选择一个start_date 说它的一月。

然后是他们添加account_add_date 的日期,比如三月。

相差 2 个月,所以在 account_age 中为 2,

那么在 4 月,2 将是 3。5 月 4 日,6 月 5 日等等

有人知道怎么做吗?

我当前的插入查询模型

 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')

【问题讨论】:

  • DATEDIFF 函数返回days 中两个日期的差值,这比month 中的差值更准确。
  • 好的,谢谢日子可以工作

标签: php mysql codeigniter insert datediff


【解决方案1】:
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)  

【讨论】:

  • 谢谢,我可以为我工作几天(甚至更好),但是我如何在 INSERT 的同时运行此查询并将其添加到我的 Account_Age 列?
  • 请发布您的完整插入查询。 @哔
  • 更新了完整的视图和模型代码,控制器中没有太多只是验证的东西
  • 查询中的age 字段在哪里?除了 php 语法,我还可以给你原始的 mysql 查询。
  • 您可以在视图页面中以不同的格式显示account age:以月、以天为单位等。例如account age: 2 Months Or 47 days
猜你喜欢
  • 2022-01-19
  • 2011-02-01
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多