mysql-时间为空值的设为0000-00-00怎么插入到数据库中

问题描述

时间为空值的设为0000-00-00怎么插入到数据库中

Java读取json数据到MySQL中,json中的regist_time为String ,数据库中的为Date,当regist_time为空时插入不到数据库,所有regist_time为空时,时间设为0000年00月00日,还是不对,
if(regist_time=="") regist_time="0000年00月00日";
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
Date date =format.parse(regist_time);
java.sql.Date sqlDate=new java.sql.Date(date.getTime());

return sqlDate;

解决方案

0000-00-00时间格式
----------------------

解决方案二:

设置为null试试呢?另外你数据库里面的字段要是可以为空的才行。

 在使用mysql时,有时候会遇到插入空日期的方法,比如col_date这个列属性是日期,可以为空(null),这时候如果我们想直接插入空日期,可以直接这么写:
insert into table table1 (col_date)values(null);
当然也可以更新空日期:
update table table1 set col_date = null where id = 1

解决方案三:

数据库字段为Date类型,非空,

解决方案四:

建表语句可以这样设置

regist_time timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '注册时间',

解决方案五:

0000-00-00这个时间值没法存到数据库中,你的目的想标识一个无效时间,把字段设置为null是可行的,但会破坏代码中对时间值的处理
我建议你做一个静态的只读(或常量)时间对象,从数据库读回来的值与这个时间对象进行对比,
如果为true,表示一个无效时间,再输出视图格式字符串

解决方案六:

oracle 数据库中可以用nvl 语句 nvl(参数1,参数2) 如果参数1为空 就用参数2 代替他 插入数据库

时间: 2024-09-30 18:54:36

mysql-时间为空值的设为0000-00-00怎么插入到数据库中的相关文章

rsyslog日志存储到mysql数据库中并利用loganalyzer进行web图形化分析管理

系统日志的重要性,相信大家都深有体会,当发生故障后,第一时间就是查看相关报错信息和日志信息,以定位问题所在,还可以基于日志,进行日志的分析,从而获取系统运行状态的一些规律,本篇就介绍关于系统日志的先关内容,具体分为: 1.rsyslog相关概念的介绍 2.自定义日志存储的信道(facility)和存储位置,让rsyslog作为服务端记录rsyslog客户端的日志信息 3.定义rsyslog的日志存储在mysql数据库中 4.利用loganalyzer实现对存储在mysql数据库中的rsyslog

Python 网络爬虫5 ---- 第一次实现抓取数据并且存放到mysql数据库中

   1 如果没有看过scrapy的朋友,可以到scrapy的官网看一下再来看这篇文章         2 创建一个scrapy的项目,请看http://blog.csdn.net/chenguolinblog/article/details/19699865    3 下面我们就一个一个文件的来分析,最后我会给出GitHub上面的源码    (1)第一个文件 spidr.py,这个文件的作用就是我们自己定义的蜘蛛,用来爬取网页的,具体看以下的注释 __author__ = 'chenguoli

《PHP和MySQL Web开发从新手到高手(第5版)》一一2.6 将数据插入到表中

2.6 将数据插入到表中 PHP和MySQL Web开发从新手到高手(第5版) 数据库创建好了,表也创建好了,剩下的工作就是将笑话放入到数据库中.将数据插入到数据库中的命令叫作INSERT,名字相当贴切.这条命令有两种基本形式: INSERT INTO tableName SET column1Name = column1Value, column2Name = column2Value, ⋮ INSERT INTO tableName (column1Name, column2Name, -)

MySQL 时间函数

在说MySQL的时间函数之前,先把MySQL的时间类型字段大概熟悉一下,这样对于MySQL时间函数的理解就更好啦. MySQL有以下的时间类型: datetime '0000-00-00 00:00:00'date      '0000-00-00'timestamp '0000-00-00 00:00:00'time      '00:00:00'year      0000 datetime 显示为'YYYY-MM-DD HH:MM:SS'格式,范围为'1000-01-01 00:00:00

mysql时间转换函数的用法

mysql时间转换函数的用法 返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对应于ODBC标准. mysql> select DAYOFWEEK(2007-10-31); -> 4 WEEKDAY(date) 返回date的星期索引(0=星期一,1=星期二, --6= 星期天). mysql> select WEEKDAY('2007-10-31 13:05:00'); -> 2 mysql> select WEEKDAY('2007-10

在mysql数据库中关于日期时间字段的处理

在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如下 select * from cms_news where  news_add_time between str_to_date("2013-08-15 00:00:00",'%Y-%m-%d %H:%i:%s') and str_to_date("2013-08-16 23:

mysql中如何更新数据库中的时间数据?

问题描述 mysql中如何更新数据库中的时间数据? 解决方案 update 表 set 字段='2011-1-1 0:0:0' where carid = 1 解决方案二: mysql创建存储过程(根据时间字段来更新数据)mysql获取数据库表最后更新时间,update_time 为null 解决方案三: 可以设置数据库自动产生时间,每次插入数据后都会自动产生时间,不用你手动插入

数据-mySql乱码问题,该设的都设了,还是一样。一样

问题描述 mySql乱码问题,该设的都设了,还是一样.一样 解决方案 你的mysql是哪个版本的我用的最新版的什么都没有动就能用中文输入输出也很正常如果不行就将现在的mysql删除重新装一个:现在用图形化界面的很多了这个是我的建议 解决方案二: 建议使用图形化界面的软件 解决方案三: 对,建议使用navicat 解决方案四: 是不是传入的数据是中文才会乱码,是英文字母就不会乱码? 解决方案五: 用select语句调出来看看乱码是怎么样的...

基于mysql时间处理函数的应用详解_Mysql

DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对应于ODBC标准.  mysql> select DAYOFWEEK('1998-02-03');  -> 3  WEEKDAY(date)  返回date的星期索引(0=星期一,1=星期二, --6= 星期天).  mysql> select WEEKDAY('1997-10-04 22:23:00');  -> 5  mysql> select WEEKDA