Announcement

Collapse
No announcement yet.

Aktuelles Datum und Uhrzeit in SQL auslesen und in eine Tabelle einfügen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aktuelles Datum und Uhrzeit in SQL auslesen und in eine Tabelle einfügen

    Hallo Liebe Leute,

    ich habe ein folgendes Problem.
    Da ich ein Anfänger bin tue ich mir echt schwer, was Thema Uhrzeit bzw. Datum angeht.

    Durch einfacher Select Anweisung kann ich zwar Datum und Uhrzeit anzeigen, wie bekomme ich diese Select Anweisung in eine Tabelle eingefügt.


    SELECT CONVERT (time, SYSDATETIME()) 13:18:45.3490361
    SELECT CONVERT (date, SYSDATETIME()) 2007-05-03

    Wie bekomme ich es in eine Tabelle per Insert Befehl?

    Insert into Testtabelle(Zeit, Datum)
    select (CONVERT (time, SYSDATETIME()) 13:18:45.3490361), CONVERT (date, SYSDATETIME()) 2007-05-03



    Dieses Befehl funktioniert nicht?
    Was muss ich tun?
    Das Feld Datum ist als date und Zeit als time deklariert.


    Bitte um Unterstützung

  • #2
    Ich versteh Deine Beispiel nicht- willst Du SysDateTime UND eine Konstante in ein Feld pfriemeln? Wahrscheinlich nicht.
    Copy /Paste Fehler?
    wie ein Selcet / Convert funktioniert findest Du z.B. hier:
    http://technet.microsoft.com/de-de/l.../bb630353.aspx

    BTW: "Geht nicht" ist natürlich eine unglaublich präzise Fehlermeldung.
    Welcher Nutzer würde sich soetwas von seinem Betriebssystem oder seinem Office Programm bieten lassen?
    Für Forenmitglieder ist es aber offenbar "okay".
    Gruß, defo

    Comment


    • #3
      Was sollen die hingeklatschten Werte '13:18:45.3490361' und '2007-05-03' mitten im SQL?
      Die haben da nix zu suchen. Ohne die sieht das dann korrekt aus.

      Edit : Nur in seltenen Fällen macht es Sinn Uhrzeit und Datum zu trennen. Deine Testtabelle macht es schwer eine einfache Frage wie ist der Datum, Uhrzeit vor oder nach einem bestimmen Vergleichszeitpunkt auch einfach in SQL auszudrücken.

      Comment


      • #4
        Es geht einfach darum in eine Tabelle die aktuelle Systemuhrzeit einzufügen.
        Ich brauche es weil ein Administrator im Managmentstudio durch den SQL Server Agenten meine gespeicherte Prozedur täglich mehrmals aufruft.
        Ich will in die Prozedur Systemzeit einbauen, damit ich sehe um welcher Uhrzeit die Daten aktualisiert werden.


        Die Frage war:

        Durch den Befehl select sysdatetime()
        bekomme ich als Wert 2014-01-23 15:19:03.4990000.
        Also genau erwünschter Wert, ich will jetzt diese Ausgabe nur in eine tabelle einfügen,
        wie bekomme ich das hin?


        insert into Testtabelle(Zeit) values (Hier muss ja jetzt normalerweise die Zeit stehen)

        wie bekomme ich jetzt diese select convert(time,sysdatetime()) dort in insert?

        würde es mit subselection gehen?
        Bitte um Hilfe...
        Zuletzt editiert von Sinan; 23.01.2014, 16:27.

        Comment


        • #5
          So wie du es gemacht hast aber eben ohne die Werte dazwischen. GETDATE wenn man einfach ein Datum ohne Schnickschnack (Zeitzonen, Offset, Hypergenau) will ist aber üblicher als SYSDATETIME. Und eine Select ist auch unnötig.

          [HIGHLIGHT=SQL]Insert into Tabelle(IrgendeineSpalte,IrgendeineDateTimeSpalte) values ('irgendeinMist', GetDate())[/HIGHLIGHT]
          Edit:

          wie bekomme ich jetzt diese select convert(time,sysdatetime()) dort in insert?
          Einfach hinschreiben

          [HIGHLIGHT=SQL]insert into Testtabelle(Zeit) values (convert(time,sysdatetime()))[/HIGHLIGHT]

          Comment


          • #6
            Hallo,
            fals noch interessant - wenn Du nur wissen brauchst wann Datensatz aktualiesiert worden ist, kannst Du doch deine Tabelle um eine Spalte mit dem Typ Timestamp ergänzen.
            Das wäre alles - der Rest erledigt doch SQL Server. Jede Änderung aktualisiert letzten Timestamp (automatisch). Brauchst Du noch eine Historie, dann mach eine neue Tabelle mir zwei Spalten.
            Erste Spalte (einfach int) kannst Du mit deine SP inserten, z.B. immer mit einem 1 - zweite wird als Timestamp von dem Server aktualisiert.
            Erste Spalte kann auch der Name der SP speichern, so kannst Du mehrere SP überwachen.

            grüsse
            Zuletzt editiert von miroSi; 18.02.2014, 13:54.
            Grüß, miro.

            Comment

            Working...
            X