我可以将 DB2 中的日期字段设置为空吗

问题描述 投票:0回答:2

当我将日期字段设置为空时,为什么 DB2 在日期字段中写入 01/01/0001?

我可以将该字段设置为 NULL 吗?当 db2 将其设置为 01/01/0001 时,我的 ado 记录集会崩溃,因为它不是有效日期。

我做错了什么吗?

db2
2个回答
0
投票

您当然可以将日期列设置为 NULL 值。 是怎么做到的?

要么您使用的客户端搞乱了您,要么表上有一个触发器将该列中的 NULL 值更改为您看到的值。


-1
投票
  1. 是的,您可以在日期列中插入空值。以下是插入空值的语法(取决于版本)。时间戳是列类型,因此您可以将其与日期互换。根据您的 DB2 版本,您可能有不同的方法来执行此操作。如果日期时间字段的字段规范未设置为允许空值,则此操作将不起作用。

    INSERT INTO [表名](col1, col2, col3)SELECT Value1, Value2, 强制转换(NULL 作为时间戳)FROM [源表]

  2. 您看到 01/01/0001 的原因是因为 DB2 正在尝试将 null 转换为值,而 01/01/0001 是日期字段的默认值。

© www.soinside.com 2019 - 2024. All rights reserved.