Sql error-int与date不兼容

时间:2017-07-02 11:11:39

标签: mysql

create table TCS_Employee 
(
Emp_name varchar(30),
Emp_id int identity(1,1)primary key,
Emp_Sal money not null,
Joining_data date,
login_date datetime,
Domain varchar not null
)

insert into TCS_Employee 
(Emp_name,Emp_Sal,Joining_data,login_date,domain) values
('Varsha',50000,2015-01-05,GETDATE(),'retail')

请帮助解决以下错误

  

错误消息206,级别16,状态2,行1

     

操作数类型碰撞:int与日期不兼容

3 个答案:

答案 0 :(得分:1)

日期需要在引号中,否则将其视为整数。

2015-01-05更改为'2015-01-05'

此外,您应设置为domain列的长度(如Domain varchar(50) not null或w / e长度适合您的需要)。

省略长度是一种不好的做法,可能会产生意想不到的结果,因为不同的数据库默认长度不同,有些长度是强制性的(我相信它适用于MySQL)。

答案 1 :(得分:0)

2015-01-05实际上是执行减法的算术运算,因此结果是int,而不是有效的日期格式。

使用:'2015-01-05'

答案 2 :(得分:0)

我认为你错过了报价:

 INSERT INTO TCS_Employee
    (Emp_name, Emp_Sal, Joining_data, login_date, domain)
    VALUES
    ('Varsha',50000,'2015-01-05',GETDATE(),'retail');