-1

当我创建一个表并放入一个 int 时,这样可以吗:

insert into Employee_T
(Emp_Id)
values
(
'100' /*WILL THERE BE A PROBLEM IF I PUT IT LIKE THIS, IE WITH THE QUOTES*/? 
)
4

5 回答 5

2

将整数文字放在引号中是完全有效的,但完全没有必要。

它将被解析为字符串并自动转换为整数。

在线查看它:sqlfiddle

于 2012-06-14T06:45:09.877 回答
1

不,

这应该工作得很好。sql server 将解析字符串并将其转换为整数。当然,这对于性能来说并不是最优的,而且如果字符串中有一些格式,如 1.000 或 12,000,它也会导致问题......

于 2012-06-14T06:46:51.830 回答
1

不,这不是问题。我的意思是,它不会导致错误。也许转换类型只会带来一点性能开销。它很少但没有必要,并且可能会在高负载时出现。

于 2012-06-14T06:46:55.763 回答
1

没问题:字符串文字将在插入时转换为 int。

我通常不会自己做,因为它会误导...

于 2012-06-14T06:45:02.330 回答
0

如果类型为char或,则使用引号varchar。如果您正在使用int,则无需为插入值提供引号。您应该使用以下查询:-

insert into Employee_T (Emp_Id) values (100);

但是,SQLServer 也支持int. 但如果您不使用引号,这是一个很好的做法int

于 2012-06-14T06:47:23.807 回答