我目前正在开发codeigniter project.i,数据库名称为"student_detail"
,表值有这样的
payment_date
1 NULL
2 NULL
3 2017-12-06 08:47:40
payment_date column is a DATETIME format
。当我打印此列时,它会像这样返回
payment_date
1 1970-01-01 00:00:00
2 1970-01-01 00:00:00
3 2017-12-06 08:47:40
但我需要返回NULL而不是默认时间格式。
答案 0 :(得分:1)
更新数据库中的付款日期字段。 Setit默认为null。
ALTER TABLE `table_name` CHANGE `payment_date` `payment_date` DATETIME NULL DEFAULT NULL;
答案 1 :(得分:0)
这段代码只是为了给你一个想法。如果您发布有问题的PHP代码,我可以帮助您。
在获取日期变量并使用date("Y-m-d", strtotime($payment_date))
函数打印之前,您必须检查它是否具有NULL
值。
if($payment_date != NULL)
{
date("Y-m-d H:i:s", strtotime($payment_date));
}
答案 2 :(得分:0)
如果没有PHP代码,我们无法帮助。
MySQL按预期工作:http://sqlfiddle.com/#!9/7e591f/1
EDITED:
您的框架很可能将未定义的日期时间NULL
转换为有效的日期时间值1970-01-01 00:00:00
,这是PHP时间的开始 - 它等于0(零)秒。
您可以在Codeigniter帮助中找到更多信息:https://www.codeigniter.com/user_guide/helpers/date_helper.html
答案 3 :(得分:0)
修改表payment_date并将列payment_date数据类型设置为NULL DEFAULT NULL。
alter table payment_date modify column payment_date datetime null default null;
答案 4 :(得分:0)