Nur die Uhrzeit in "datetime"-Spalte einfügen (ohne "01.01.1900")?



  • Hi,
    Ich möchte in einer Tabelle wo ich eine "datetime" Spalte habe nur die Uhrzeit einfügen. Leider wird davor dann immer der "01.01.1900" geschrieben. Also wenn ich "00:15:00" eintragen will macht er daraus "01.01.1900 00:15:00"!
    Der Insert ist ein ganz normaler "INSERT INTO Tabelle1(Datum, Zeit) VALUES ('%s', '%s'", Date, Time);
    Wenn ich aber in die Spalte gehe und das "01.01.1900" rauslösche dann bleibt nur die Uhrzeit stehen also sollte es ja möglich sein.
    Achja falls es wichtig ist ich benutze "MS SQL 2000", ich habe eine "ODBC-Connection" und benutze in meinem C++ Programm "CDatabase".

    MfG schirrmie



  • IMHO gibt es keine Timesplate in MSSQL.
    Willst du nur die Uhrzeit haben dann muss du das bei Ausgabe angeben.



  • Wie gesagt wenn ich mit dem Enterprise Manager in eine Zelle mit "01.01.1900 00:15:00" gehe und das "01.01.1900" rauslösche dann bleibt ja auch nur "00:15:00" drinne. Also muss es ja irgendwie gehen 😕

    schirrmie



  • es gibt eine Möglichkeit: trag beim insert als Datum den 30.12.1899 ein, z.B.

    insert into tabelle (Zeitspalte) values ('30.12.1899 12:00:00')
    

    allerdings hat das ganze jetzt einen Makel: man kann nicht einfach die Uhrzeit an ein Datum hängen (z.B. select Datumsspalte+Zeitspalte from tabelle), da der Wert jetzt um 2 Tage falsch ist, d.h. in dem gezeigten Beispiel ist der Float-Wert -1.5, beim Wert '01.01.1900 12:00:00' ist der Float-Wert aber 0.5


Anmelden zum Antworten