1

我在将硬编码值插入 Advantage 9.1 中的“时间戳”字段时遇到了一些问题。我想要一个“时间戳”字段,因为我想要一个组合的日期+时间字段。我究竟做错了什么?我尝试了下面列出的许多变体,每个变体都失败并显示错误消息。

create table foo(a timestamp);

insert into foo (a) values ('12/31/2012');
insert into foo (a) values (cast ('12/31/2012' as sql_timestamp));
insert into foo (a) values (cast ('2012-12-31' as sql_timestamp));
insert into foo (a) values (convert('12/31/2012', sql_timestamp));
insert into foo (a) values (convert('2012-12-31', sql_timestamp));

咒语必须很简单,而我就是不明白。

4

1 回答 1

2

我相信以下将起作用(包括文字的时间部分并将其指定为零):

insert into foo (a) values ('2012-12-31 00:00:00')

而且我认为也可以在 v9.x 中使用旧样式的转义序列来创建日期文字常量,然后使用转换标量:

insert into foo (a) values convert( {d '2012-03-04'}, sql_timestamp))
于 2012-04-24T12:35:43.763 回答