Jump to content

datetime format


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

hallo ich habe auf meinem SQL 2005 eine tabelle angelegt, ID(int), Datum (datetime), wert1,...

 

von einem älteren programm bekomme ich jetzt das Datum in einen falschen format

 

2009-12-05 es sollte aber 2009-05-12 lauten.

 

kann ich das irgendwie einfach lösen, dass das datum richtig gestellt wird??

 

die möglich auf dem älteren Programm das datum umzustellen, habe ich leider nicht.

 

danke

Link zu diesem Kommentar

Moin,

 

wenn du das Programm, das die Daten liefert, nicht beeinflussen kannst, hast du da schlechte Karten. SQL Server interpretiert Datumsformate nach bestimmten Regeln. Kommt ein Datum wie angegeben im Format nnnn-nn-nn, so geht SQL Server vom ISO-Format aus und wertet die zweite Zahl als Monat und die dritte als Tag, sofern die Werte passen.

 

Wenn du die Datenübergabe über das Programm beeinflussen kannst, könntest du entweder die korrekte Reihenfolge vorgeben oder aber das Datum an eine Stored Procedure übergeben, die das macht. Beides erfordert aber Eingriff in den Code.

 

Ein Workaround wäre ein Trigger auf der Datenbanktabelle, der die Daten beim Einfügen umstellt. Das setzt aber wiederum voraus, dass alle Daten im selben Format ankommen, d.h. es darf nur die jetzige Anwendung schreiben oder alle anderen müssen sich auch an das "krumme" Format halten.

 

Gruß, Nils

PS. Bitte bemühe dich um lesbare Postings und nutze deine Shift-Taste konsequenter.

Link zu diesem Kommentar

Sorry, aber da halt ich es dann wie Nils: Hast du schonmal in der Onlinehilfe geschaut, wie die jeweiligen Beispiele für substring und convert aussehen? Oder erwartest du, das wir dir nebenbei deine Arbeit auch noch erledigen?

 

Wir können dir zwar aufs Rad helfen, aber das treten musst du dann schon selber übernehmen, oder?

 

BTW: Ruf doch mal deinen Helpdesk an, deine Tastatur ist kaputt. Mindestens die Shift-Taste müsste mal auf Funktion geprüft werden.

Link zu diesem Kommentar

ich habe nun einen trigger generriert, der mir das Input Daum (2009-24-10) auf 2009-10-24 umwandelt.

 

jetzt habe ich aber das problem wenn ich das Datum 2009-6-10 konvertieren möchte kommt 2009--6- zurück da die 0 fehlt.

 

wie könnte ich das anders lösen??

mein select befehl sieht so aus:

 

select upper(

substring(datum,1,4) + substring(datum,5,1) +

substring(datum,9,2) + substring(datum,5,1) +

substring(datum,6,2)

from Table_1

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...