none
Wert durch NULL ersetzen RRS feed

  • Frage

  • Hallo,

    ich möchte einen "0"-Wert vom Datentyp DT_I4 in einen NULL Wert umwandeln, innerhalb einer abgeleiteten Spalte bzw. per ersetzen.

    Mein Versuch

    REPLACE(((DT_WSTR,10) [DateiNr]) "0", [DateiNr] , NULL(DT_I4)))

    scheiterte, ebenso wie die Versuche mit

    ([DateiNr] == "0"):? NULL (DT_WSTR) : [DateiNr]

    Kann mir jemand einen Tipp geben? Danke!

    Gruß Jürgen

    Sonntag, 8. April 2012 10:20

Antworten

  • Deine Datentype  DT_I4 sieht aus wie ein Alias. Spielt aber keine Rolle. Aufgrund deiner benutzten Syntax, willst du es in T-SQL oder C# machen?

    SELECT	* , 
    		CASE WHEN DateiNr = 0 THEN NULL 
    		     ELSE DateNr 
    		END 
    FROM	Tabelle ;

    • Als Antwort markiert juergen_ks Donnerstag, 12. April 2012 08:17
    Sonntag, 8. April 2012 10:56
  • Juergen's Beispiel sieht nach SSIS aus, daher geht dies:

    http://msdn.microsoft.com/en-us/library/ms141758.aspx

    und siehe auch diese Diskussion http://social.msdn.microsoft.com/Forums/en/sqlintegrationservices/thread/40adaad2-31b1-43bb-9c83-9567cb2c904b

    Du hast vermutlich Probleme, da die Spalte ein String ist, Du aber von einem Integer Null schreibst - Du musst statt NULL(DT_I4) dann selbstverstaendlich NULL(DT_WSTR) verwenden, da die Spalte als String definiert ist, selbst wenn der Wert darin den Wert 0 repraesentiert und nach NULL ersetzt werden muss.

    • Als Antwort markiert juergen_ks Donnerstag, 12. April 2012 08:17
    Sonntag, 8. April 2012 11:11

Alle Antworten