Sto estraendo i dati da Excel in ssis
. Una delle colonne excel contiene i valori blank
. quindi ho bisogno di sostituire il valore blank
con null altrimenti il mio pacchetto fallirà. Eventuali suggerimenti?Come convertire vuoto in null in ssis
risposta
Si potrebbe anche voler controllare la possibilità di mantenere Null valori sia sulla connessione di origine che di destinazione (se disponibile)
Forse si è tentato qualcosa di simile (in ipotesi tipo di dati è di corda/varchar):
LEN(TRIM([ColumnName]))==0 ? NULL(DT_WSTR, 10) : [ColumnName]
Ho provato questo ma non è stringa è data non possiamo usare ltrim per la data ...... :( –
quindi rimuovere assetto ..... utilizzare direttamente LEN funzione –
In componente DerivedColumn uso DataFlow.
Sostituire la colonna e nell'espressione mettere questa riga di codice
ColumnName == "" ? NULL(DT_WSTR,50) : ColumnName
Si farà in modo di restituire null se colonna è vuota
Possiamo usare questa espressione senza avere una colonna derivata? –
Possiamo sostituire la stessa colonna più volte di seguito senza utilizzare un'altra derivata o una formula più complessa? – Hybris95
Avevo un'istanza simile in cui volevo sostituire una stringa in una colonna di data in NULL e ho utilizzato il seguente codice:
LEN (your_data) < 2? NULL (DT_WSTR, 50): your_data
In questo caso, la stringa aveva una lunghezza di solo 1. Ho quindi utilizzato la trasformazione della conversione dei dati per ottenere il tipo dt_dbtimestamp.
Spero che questo aiuti!
Fix per il problema di cui sopra :::::
origine e destinazione must controllato con l'opzione Consenti valori nulli e funzionerà.
Nel mio caso stavo usando una sorgente di file flat e l'opzione sotto "Connection Manager" di sinistra era una casella di controllo "Mantieni valori null dall'origine come valori nulli nel flusso di dati" – PeterVermont
È necessario utilizzare il componente Colonna derivata e un'espressione condizionale. Poiché si tratta di un'istruzione condizionale, i tipi di dati dovranno essere gli stessi per creare un risultato booleano.
Prova ad usare questo:
ColumnName == (DT_DATE)"" ? NULL(DT_DATE) : ColumnName
- 1. Componente Script SSIS, Consenti valori Null
- 2. Come posso creare un DACL NULL/vuoto?
- 3. Debug in SSIS
- 4. PowerShell in SSIS
- 5. MySQL può convertire automaticamente stringhe vuote in NULL?
- 6. Impossibile convertire vuoto per java.lang.Void
- 7. Espressione SSIS: conversione data in stringa
- 8. Ordinamento colonna stringa DataTable, ma con null/vuoto in fondo
- 9. Controllo di vuoto/null JToken in un jobject
- 10. VB.NET: Come convertire stringa in data?
- 11. Conversione di BlobColumn in stringa in SSIS Script Component
- 12. controllo null, vuoto o non definiti angularjs
- 13. Come mantenere i valori NULL quando si utilizza SSIS per importare da file flat in SQL Server 2005
- 14. SED sostituire spazio vuoto con NULL
- 15. Perché json_decode restituisce null per l'array vuoto?
- 16. SSIS: Come disabilitare l'attività?
- 17. Come convertire CFStringRef in NSString?
- 18. La divisione condizionale non riesce se il valore è NULL in SSIS
- 19. Differenza tra null? e vuoto? Schema
- 20. Come verificare se array vuoto in C
- 21. Come convertire NSNull in nil in Swift?
- 22. Come convertire Writer in String
- 23. null/vuoto json come controllarlo e non viene emesso?
- 24. serializzazione null in JSON.NET
- 25. Come convertire HttpEntity in JSON?
- 26. Come convertire String in Boolean in Java, ma per trattare null diversamente da false?
- 27. Come impostare il nome del database come variabile in SSIS?
- 28. Aggiornamento tabella utilizzando SSIS
- 29. Impossibile convertire SSIS in seguito a una potenziale perdita di dati
- 30. vuoto in generici C#?
Questo non è il punto! Punto è come gestire o sostituire NULL valori. Ho provato il tuo suggerimento ma non funziona. Dovrebbe esserci un'espressione per sostituire i valori vuoti con valori NULL o definiti dall'utente –
Beh, penso che tu abbia ragione. Se questo è un file Flat, esiste un'opzione sull'origine file flat per mantenere valori nulli. Avere abilitato così come l'opzione "Mantieni valori NULL" sulla connessione di destinazione (come OLEDB) potrebbe eliminare la necessità di sostituirlo utilizzando la trasformazione della colonna Derivata. – Thony
Hmm !!! Bene, ho Excel come fonte. Excel contiene alcune celle vuote e quando le carico in DB, restituisce NULL. Ho provato a usare expression (Conditional Split) ma non funziona. Incollerò il mio errore il prima possibile. –