Informix 数据库 - 使用日期时间列创建 table,获取 DEFAULT 值语法错误

Informix Database - Create table with a datetime column, getting DEFAULT value syntax errors

正在尝试创建具有默认 DATETIME 的 table。我的代码看起来像这样

CREATE TABLE myTable (
    start_time DATETIME YEAR TO FRACTION(3) NOT NULL DEFAULT '0001-01-01 09:00:00.000'
    end_time DATETIME YEAR TO FRACTION NOT NULL DEFAULT '0001-01-01 17:00:00.000
    daily_max INT NOT NULL
    ...some other columns...
)

当我尝试执行此操作时,出现此错误并且无法创建 table..

[Error Code: -591, SQL State: IX000] Invalid default value for column/variable (start_time).

声明列的默认值时是否需要使用特定的 DATETIME 格式?为此,我查看了 IBM's Knowledge Center,相信我使用的是正确的语法。

使用冗长的 DATETIME 文字格式指定默认值:

CREATE TABLE myTable (
    start_time DATETIME YEAR TO FRACTION NOT NULL DEFAULT
               DATETIME(0001-01-01 09:00:00.000) YEAR TO FRACTION,
    end_time   DATETIME YEAR TO FRACTION NOT NULL DEFAULT
               DATETIME(0001-01-01 17:00:00.000) YEAR TO FRACTION,
    daily_max  INT NOT NULL,
    …some other columns…
)

我一贯地使用普通 FRACTION 来追求统一性(和简单性),这与 FRACTION(3) 的含义相同。大多数人在 AD(公元纪元)或 CE(基督教时代)开始时并没有从事朝九晚五的工作。

有关文字格式的详细信息,请参阅 DATETIME Literal