Cómo definir el tipo (INT) para un nuevo campo en SQL Select en la declaración en MS Access
-
22-12-2019 - |
Pregunta
Quiero definir el nuevo campo en un selecto en la declaración como entero.Sin embargo, el Newfield termina como binario.¿Cómo puedo lograr esto?
SELECT ExistingField1, ExistingField2, NewField
INTO NewTable
FROM ExistingTable
Busqué mucho, pero aún no pude encontrar una solución.
Editar 1: Estoy realizando la declaración Seleccionar en la aplicación de Microsoft Access.(No es una tabla en el acceso que apunta a una tabla de SQL Server)
Editar 2: Newfield se crea con la declaración Seleccionar en la declaración.No existe en una tabla preexistente.
Solución
La razón por la que termina como un binario se debe a que el campo en la tabla existente es más probable es un campo binario.
Podrías intentar hacer algo así:
SELECT ExistingField1, ExistingField2, CAST(NewField AS int)
INTO NewTable
FROM ExistingTable
CAST
no funciona en Msaccess.Sin embargo, esto debería funcionar:
SELECT ExistingField1, ExistingField2, cInt(Field1 + Field2) AS NewField
INTO NewTable
FROM ExistingTable
Otros consejos
Para acceder, usaría esto, entonces el cuadro de diálogo de parámetro no se muestra.
SELECT ExistingField1, cInt(0) AS NewField
into NewTable1
FROM Table1
para SQL Server
CAST(null AS int) AS NewField
Si tiene una estructura de NewTable ya definida, puede intentarlo:
Insert Into NewTable
Select
ExistingField1,
ExistingField2,
cast(NewField as int) as NewField,
From ExistingTable