Как определить тип (INT) для нового поля в SQL Select в оператор в MS Access

StackOverflow https://stackoverflow.com//questions/20043231

  •  22-12-2019
  •  | 
  •  

Вопрос

Я хочу определить новое поле в выборе в оператор как целое число.Однако Ньюфинфилд заканчивается как двоичный.Как я могу сделать это?

SELECT ExistingField1, ExistingField2, NewField
INTO NewTable
FROM ExistingTable
.

Я много искал, но не смог найти решение еще.

Редактировать 1: Я выполняю выбор в оператор из самого приложения Microsoft Access.(Это не таблица в доступе, который указывает на таблицу SQL Server)

Редактировать 2: Newfield создается с выбором в оператор.Он не существует в ранее существующей таблице.

Это было полезно?

Решение

Причина, по которой она заканчивается как двоичный, заключается в том, что поле в существующей таблице, скорее всего, является двоичным полем.

Вы можете попробовать сделать что-то подобное:

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
.

Другие советы

Для доступа Я бы использовал это, то диалоговое окно параметра не отображается.

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

для SQL Server

CAST(null AS int) AS NewField
.

Если у вас есть структура уже определенной записи, вы можете попробовать:

Insert Into NewTable 
Select 
      ExistingField1,
      ExistingField2,
      cast(NewField as int) as NewField,
From ExistingTable
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top