Come definire il tipo (int) per un nuovo campo in SQL Selezionare nell'istruzione nell'accesso MS

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

  •  22-12-2019
  •  | 
  •  

Domanda

Voglio definire il nuovo campo in una selezione in istruzione come numero intero.Tuttavia, il Newfield finisce come binario.Come posso realizzare questo?

SELECT ExistingField1, ExistingField2, NewField
INTO NewTable
FROM ExistingTable
.

Ho cercato molto ma non ho ancora trovato una soluzione.

Modifica 1: sto eseguendo la selezione in istruzioni dall'inserire l'applicazione di Microsoft Access stesso.(Non è una tabella in accesso che punta a una tabella SQL Server)

Modifica 2: Newfield viene creato con la selezione in istruzioni.Non esiste in una tabella preesistente.

È stato utile?

Soluzione

La ragione per cui finisce come un binario è perché il campo nella tabella esistente molto probabilmente è un campo binario.

Potresti provare a fare qualcosa del genere:

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

CAST non funziona in msaccess.Tuttavia, questo dovrebbe funzionare:

SELECT ExistingField1, ExistingField2, cInt(Field1 + Field2) AS NewField
INTO NewTable
FROM ExistingTable
.

Altri suggerimenti

Per l'accesso lo userei, quindi la finestra di dialogo dei parametri non viene visualizzata.

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

per SQL Server

CAST(null AS int) AS NewField
.

Se hai la struttura di Newtable già definita puoi provare:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top