Datum wird in Tabelle falsch eingetragen

Davvud

Benutzer
Beiträge
13
Hallo,

ich arbeite an einer SQL Server 2008 R2 Datenbank.
Gestern habe ich zum entsetzen festgestellt das die Jahreszahlen sich einfach ändern.
Also wenn ich in der Spalte Datum das Jahr eingebe wird das Jahr automatisch in das Jahr 1905 umgestellt.
Das verstehe ich nicht. Die Spalte hat ein Datetime als Datentyp.
Ich gebe die Werte wie folgt ein (2014-02-03, jjjj,mm,dd ) ohne das ich allerdings die Uhrzeit eingebe.
auch die Monate und Tage ändern sich habe ich festgestellt.

Kann mir jemand dabei helfen? Das passiert erst seit kurzem vorher war das nicht so.
 
Werbung:
Ich gebe es in der Datenbank ein, da die Anwendung noch nicht Reibungslos läuft.
Jahr, Monat, Tag die Uhrzeit lasse ich weg. Ist es vielleicht deswegen?
 
Ich Zeige es lieber.

INSERT INTO [Quali-Matrix].[dbo].[Mitarbeiter_Unterweisungen]
([PersNR]
,[UW_ID]
,[UW_Datum]
,[Nächste_Unterw])
VALUES
( 4051,
3,
2014-05-11,
2016-05-11)
GO

So sieht die INSERT Abfrage z.B. aus.........

Nun wird aus 2014, 1905 und auch die Tage und Monate werden anders dargestellt. Also ein komplettes falsches Datum

(1905-06-22 00:00:00.000) Das steht nachher in den Spalten für Datum.
 
Ich Zeige es lieber.


So sieht die INSERT Abfrage z.B. aus.........

Nun wird aus 2014, 1905 und auch die Tage und Monate werden anders dargestellt. Also ein komplettes falsches Datum

(1905-06-22 00:00:00.000) Das steht nachher in den Spalten für Datum.

Quote das, sonst wird aus 2014-05-11 die Berechnung 2014 - 5 -11.
 
Moment mal, wieso macht er das?
Vorher habe ich mit Bulk insert Massenimport durchgeführt und hat es doch geklappt wieso jetzt nicht?
Also muss ich Datum in Anführungszeichen setzen?


Danke dann wäre das ja gelöst.
 
Werbung:
Der BULK Import arbeitet in der Regel mit Spaltentrennzeichen wie ; oder Tabulator. Dadurch interpretiert er 2014 - 5 -11 vermutlich nicht als (berechnete) Zahl sondern immer als String. Er wird vermutlich auch einen Fehler werfen wenn er diesen Wert in eine Integer-Spalte schreiben soll.

In einem normalen SQL-Insert können aber durchaus auch Berechnungen statt finden. Da sind Zahlen eben Zahlen und werden nicht als String behandelt.
 
Zurück
Oben