首页 > 解决方案 > 学习 SQL Server。为什么我不能插入日期列?

问题描述

为什么我不能将这个日期插入到我刚刚创建的这个表中?

create table Car (  ID int NOT NULL constraint PKID Primary Key,
                    Manufacturer varchar(50) NOT NULL, 
                    Model varchar(50) NOT NULL, 
                    Colour varchar(50) NOT NULL, 
                    Mileage int, 
                    DateOfRegistration Date NOT NULL,
                    NumberPlate varchar(8) NOT NULL, 
                    [4x4] bit NOT NULL, 
                    PreviousOwners smallint,
                    MotExpiry date not null)

Insert into Car (ID, Manufacturer, Model, Colour, DateOfRegistration, NumberPlate, [4x4], MotExpiry) 
Values 
(1000001, 'Nissan', 'XTrail','Green', 2014, 'EK64 XEJ', 1, '2018-11-26')

消息 206,级别 16,状态 2,第 15 行操作数类型冲突:int 与日期不兼容

标签: sql-serverssms

解决方案


2014 年是一个数字,而不是一个日期。如果 DateOfRegistration 真的只是 YearOfRegistration,则将其类型更改为 int。

否则,将 2014 更改为 '2014-01-01' 或 SQL Server 可以解析为日期的其他字符串。


推荐阅读