2014-10-10 18 views
0

表结构是在SQL查询中插入整数值字符串时会有什么happend

empid int identity 
empname varchar(50) 
empage int 

,而我通过下面的查询

insert into tablename values('g','4'); 

现在执行查询时插入值表好。

所以什么下面的查询和之间上述查询的差

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

还要看RDBMS。 – 2014-10-10 04:50:56

+0

@RobbyCornelissen:无法获得你的 – Gomathipriya 2014-10-10 04:52:40

+0

RDBMS .....看起来像SQL Server的身份 – 2014-10-10 04:54:00

回答

3

第一个查询将执行从字面varchar值“4”的“隐式转换”的值4(一个INTEGER

第二个不会。

第二个是一个更好的做法。

他们两人都是不好的做法,无论是因为你应该包括列名,以及:

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

除了这个演员,是否还有其他区别?像内存使用量或处理时间来转换..? – Gomathipriya 2014-10-10 05:02:13

相关问题