如何在SQL数据库日期列中插入空值?

时间:2012-09-05 05:16:54

标签: java sql

我有一个数据库,其中有一个名为START_TS的列(datetime,not null)。 我在java中编写了一个程序,我想在该列中插入一个空白值,但是它取得了 '1900-01-01 00:00:00.000'作为价值。

statement.executeUpdate("insert into tableName(START_TS) values(CAST(START_TS as varchar(100)))");

请建议我可以在该列中插入空白值的转换机制。

谢谢

1 个答案:

答案 0 :(得分:1)

如果使用MYSQL,语法似乎指向;你可以做到以下几点:

  

ALLOW_INVALID_DATES

     

不要对日期进行全面检查。只检查月份是否在   范围从1到12,日期在1到31之间   对于获得年,月的Web应用程序非常方便   和三天在三个不同的领域,你想要存储什么   用户插入(没有日期验证)。此模式适用于DATE   和DATETIME列。它不适用TIMESTAMP列   总是要求有效的日期。

     

此模式在MySQL 5.0.2中实现。在5.0.2之前,这是   默认的MySQL日期处理模式。从5.0.2开始,服务器需要   那个月和日值是合法的,而不仅仅是在1到1的范围内   分别为12和1至31。禁用严格模式,无效日期   例如'2004-04-31'被转换为'0000-00-00'并且警告是   产生。启用严格模式后,无效日期会生成错误。   要允许此类日期,请启用ALLOW_INVALID_DATES。

然而,正如大家在评论中所说的那样,在数据类型为DATETIME的字段中不可能粘贴“”。