23 messaggi dal 16 febbraio 2012
Buongiorno, se devo inserire i dati in una tabella con una o più colonne con minore lunghezza, posso troncare durante i dati durante l'importazione?
Grazie
52 messaggi dal 04 ottobre 2011
credo tu possa usare una semplice funzione substring, e rislvi facilmente il problema.
Ti fai una substring del dato da importare e inserisci la lunghezza della colonna nella quale devi importare il dato.
23 messaggi dal 16 febbraio 2012
Grazie per la risposta. Non riesco però nell'intento.
Ti faccio un esempio. Ho una colonna excel che importo che si chiama ad esempio "prova" che ha parole di lunghezza variabile.
La colonna "prova" della tabella SQL è di tipo char (32).
Quindi faccio:

INSERT INTO dbo.AAAAAA
SELECT *
FROM OPENROWSET(
'Microsoft.ACE.OLEDB.12.0'
,'EXCEL 8.0;Database=C:\bbbbbbb.xls; HDR=YES;IMEX=1'
,'SELECT exc.[Porva]
FROM [CCCCCCC (3)$] AS exc
WHERE exc.[-----] IS NOT NULL;');


dove dico di importare e troncare i dati?
Grazie a tutti per chi mi aiuterà
52 messaggi dal 04 ottobre 2011
nella clausola SELECT


SELECT SUBSTR(exc.[Porva],0,Lunghezza_voluta)



oppure (non ricordo bene qual'è la sintassi supportata dal tuo DB


SELECT SUBSTRING(exc.[Porva],0,Lunghezza_voluta)




dove 0 è il carattere dal quale iniziare la substring (0 = dall'inizio) e Lunghezza_voluta è la quantità di caratteri che vuoi ottenere.

Esempio

SUBSTR('SUPERCALIFRAGILISTICHESPIRALIDOSO',0,3) = 'SUP'

fammi sapere.
Nicola Atorino

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.