Cómo definir el tipo (INT) para un nuevo campo en SQL Select en la declaración en MS Access

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

  •  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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top