我有一个数据库,其中有一个名为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)))");
请建议我可以在该列中插入空白值的转换机制。
谢谢
答案 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的字段中不可能粘贴“”。