6

我想将 select into 语句中的新字段定义为整数。但是,NewField 最终以二进制形式出现。我怎样才能做到这一点?

SELECT ExistingField1, ExistingField2, NewField
INTO NewTable
FROM ExistingTable

我搜索了很多,但还没有找到解决方案。

编辑 1:我正在 Microsoft Access 应用程序本身中执行 SELECT INTO 语句。(它不是 Access 中指向 SQL Server 表的表)

编辑 2:NewField 是使用 SELECT INTO 语句创建的。它不存在于预先存在的表中。

4

3 回答 3

13

它最终成为二进制的原因是现有表中的字段很可能是二进制字段。

你可以尝试做这样的事情:

SELECT ExistingField1, ExistingField2, CAST(NewField AS int)
INTO NewTable
FROM ExistingTable

CAST在 MsAccess 中不起作用。但是,这应该有效:

SELECT ExistingField1, ExistingField2, cInt(Field1 + Field2) AS NewField
INTO NewTable
FROM ExistingTable
于 2013-11-18T08:38:52.367 回答
2

对于 Access,我会使用它,然后参数对话框不会显示。

SELECT ExistingField1, cInt(0) AS NewField
into NewTable1
FROM Table1

对于 SQL 服务器

CAST(null AS int) AS NewField
于 2014-01-29T17:30:29.953 回答
0

如果您已经定义了 NewTable 的结构,您可以尝试:

Insert Into NewTable 
Select 
      ExistingField1,
      ExistingField2,
      cast(NewField as int) as NewField,
From ExistingTable
于 2013-11-18T09:55:53.543 回答