如何解决操作数类型冲突:日期与 int 不兼容
Posted
技术标签:
【中文标题】如何解决操作数类型冲突:日期与 int 不兼容【英文标题】:How to resolve Operand type ***: date is incompatible with int 【发布时间】:2020-02-04 04:46:00 【问题描述】:如标题中所述,我正在尝试将数据从下面的另一个表中插入到一个表中。
Insert into dbo.result (
resultdate,
examdate
)
Select
ResultDate,
ExamDate
From dbo.examdata
但是我得到了标题中的错误。result
表中两列的列的数据类型是 int
但在 examdata
中两列都是 date
数据类型,我没有不想改变结果表的数据类型。
如何解决这个问题?
【问题讨论】:
使用格式函数将日期转换为int 正如您所说,要从 dbo.examdata 插入数据的表 dbo.result 的数据类型对于两列都是 int 。所以,肯定会报错。要解决此问题,请更改与日期匹配的数据类型,即日期或日期时间。 这就是我问的喜欢怎么做? 【参考方案1】:Insert into dbo.result (
resultdate,
examdate
)
Select
CONVERT(INT,FORMAT(ResultDate,'yyyyMMdd')) as ResultDate,
CONVERT(INT,FORMAT(ExamDate,'yyyyMMdd')) as ExamDate
From dbo.examdata
【讨论】:
我们也可以在插入语句中进行相同的更改吗? 我没听懂,但是插入语句只包含列名。 @VasZ 您应该接受答案,因为它对您有帮助。它决定其他人很容易找到答案。以上是关于如何解决操作数类型冲突:日期与 int 不兼容的主要内容,如果未能解决你的问题,请参考以下文章
Sql Server如何使用date数据类型将日期插入到列中
操作数类型冲突:int 与 uniqueidentifier 不兼容
SQL Server - 操作数类型冲突:数字与 datetimeoffset 不兼容
操作数类型冲突:uniqueidentifier 与 float 不兼容
SQL Server Always Encrypted:操作数类型冲突:varchar 与 varchar(max) 不兼容