在sql查询中将整数值作为字符串插入时会发生什么

时间:2014-10-10 04:49:21

标签: sql sql-server

表结构是

empid int identity
empname varchar(50)
empage int

当我通过以下查询

向表中插入值时
insert into tablename values('g','4');

现在查询执行得很好。

以下查询与上述查询之间的区别是什么

insert into tablename values('go',5);

1 个答案:

答案 0 :(得分:3)

第一个查询将从文字varchar值'4'执行'隐式强制转换'到值4(INTEGER

第二个不会。

第二个是更好的练习。

两者都是不好的做法,因为你也应该包括列名:

insert into tablename (empname,empage) 
values('go',5);