Как определить тип (INT) для нового поля в SQL Select в оператор в MS Access
-
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
.