Come definire il tipo (int) per un nuovo campo in SQL Selezionare nell'istruzione nell'accesso MS
-
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.
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
.