1

这是我在 StackOverflow 上的第一个问题,所以我很抱歉这很可能是格式不正确的。我对 sql 语言非常陌生,并且在使用以下查询时遇到了问题:

我有一个声明的表,其中一行选择日期时间(OccurrenceGroupID),并希望在查询结果中以短日期格式显示该日期。

--Select for Occurrence Group
Declare @A3 table (OccurrenceGroupID datetime)
insert into @A3
select OccurrenceGroup as OccurrenceGroup, 
Convert(VARCHAR(10),GETDATE(), 101) as [MM/DD/YYYY]
from tblOccurrenceGroup
where occurrencegroupid = @occurrencegroupid

我收到错误消息“列名或提供的值的数量与表定义不匹配”。

任何帮助将非常感激。谢谢。

4

2 回答 2

1

您的错误是因为您选择了两列并尝试将结果集插入到只有一列的表中。

无论如何,您可能出于演示原因将 a 转换datetime为 a varchar,然后想要将其插入到datetime没有多大意义的类型的列中。始终将日期格式留给客户端应用程序。

于 2013-10-24T15:35:48.113 回答
0

您已将其声明为日期时间

Declare @A3 table (OccurrenceGroupID datetime)

所以它期待你继续说的日期和时间

 Convert(VARCHAR(10),GETDATE(), 101) as [MM/DD/YYYY]

然后你说将 varchar 转换为 MM/DD/YYYY 因此它与你的第一个陈述相矛盾

于 2013-10-24T15:29:07.433 回答