尝试使用默认的DATETIME创建表。我的代码看起来像这样
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...
)
当我尝试执行此操作时,我收到此错误并且无法创建表..
[错误代码:-591,SQL状态:IX000]列/变量(start_time)的默认值无效。
在声明列的默认值时,是否需要使用特定的DATETIME格式?我已经查看了IBM's Knowledge Center,并相信我使用了正确的语法。
答案 0 :(得分:2)
使用冗长的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(Anno Domini)或CE(Christian Era)开始时,大多数人都没有9-5个工作岗位。
有关文字格式的详细信息,请参阅DATETIME Literal。