Sql server Can';t将数据添加到datetime2字段

Sql server Can';t将数据添加到datetime2字段,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我正在使用SQL Server Express 2008,并试图向数据类型为datetime2(7)的表中的字段添加数据 这就是我想补充的内容: '2012-02-02 12:32:10.1234' 但是我得到了错误 Msg 8152, Level 16, State 4, Line 1 String or binary data would be truncated. The statement has been terminated. 这是否意味着它太长,无法添加到字段中?应该减少一点吗

我正在使用SQL Server Express 2008,并试图向数据类型为datetime2(7)的表中的字段添加数据

这就是我想补充的内容:

'2012-02-02 12:32:10.1234'
但是我得到了错误

Msg 8152, Level 16, State 4, Line 1
String or binary data would be truncated.
The statement has been terminated.
这是否意味着它太长,无法添加到字段中?应该减少一点吗?如果是的话,你能给我举一个它应该是什么样子的例子吗

注意-我也尝试过这种格式:

'01/01/98 23:59:59.999'
谢谢

**编辑

实际报表:

INSERT INTO dbo.myTable
( 
nbr,
id,
name,
dsc,
start_date,
end_date,
last_date,
condition,
condtion_dsc,
crte_dte,
someting,
activation_date,
denial_date,
another_date,
a_name,
prior_auth_start_date,
prior_auth_end_date,
history_cmnt,
cmnt,
source,
program, 
[IC-code],
[IC-description],
another_start_date,
another_start_date,
ver_nbr,
created_by,
creation_date,
updated_by,
updated_date)
VALUES
(
26,
'a',
'sometinh',
'c',
01/01/98 23:59:59.999,
01/01/98 23:59:59.999,
01/01/98 23:59:59.999,
'as',
'asdf',
01/01/98 23:59:59.999,
'lkop',
01/01/98 23:59:59.999,
01/01/98 23:59:59.999,
01/01/98 23:59:59.999,
'a',
01/01/98 23:59:59.999,
01/01/98 23:59:59.999,
'b',
'c',
'd',
'b',
'c',
'd',
01/01/98 23:59:59.999,
01/01/98 23:59:59.999,
423,
'Monkeys',
01/01/98 23:59:59.999,
'Goats',
01/01/98 23:59:59.999
);

仔细查看要插入的表。我打赌您试图插入到char/varchar/nchar/nvarchar列中的一个值太长

SELECT 
  name,
  max_length / CASE WHEN system_type_id IN (231, 239)
    THEN 2 ELSE 1 END
FROM sys.columns 
WHERE [object_id] = OBJECT_ID('dbo.TargetTableName')
AND system_type_id IN (167, 175, 231, 239);
这将为您提供如下列表:

name    
--------  --------
col1      32
col5      64
col7      12
现在,将此列表与
value
子句中的文本进行比较。正如我在评论中所建议的,我打赌其中一个字符的数量超过了表格允许的数量


有可能存在binary或varbinary列,问题就在这里,但我强烈怀疑这是一个简单的“字符串太长”问题,与您的
DATETIME2(7)
值完全无关。

您能解释一下您是如何“尝试向字段添加数据”的吗?使用什么?编辑前N行?插入查询?还有别的吗?包括报价吗?还有可能错误来自表上的触发器或其他列吗?在插入
DATETIME
列时,这是一个奇怪的错误。您是否可以演示如何使用表定义和整个
INSERT
?@AaronBertrand我使用INSERT查询来执行此操作,是的,我在读到SQL server需要引号时包含了引号。我不能显示整个insert语句,因为某些信息可能很敏感。如果你做的一切都正确,它应该可以工作。呃,你的insert语句的哪一部分是敏感的?把它弄糊涂就行了。如果列名是salary,则将其更改为sales或what have you。我打赌一盒甜甜圈是insert语句中的另一列,而不是这一列。