Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Datum in Spalten aufteilen

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Mario Pflaum, 21 September 2016.

  1. Mario Pflaum

    Mario Pflaum Neuer Benutzer

    Hallo zusammen

    Ich habe in einer Tabelle ein Datumsfeld (Format YYYY-MM-DD hh:mm:ss). Da ich innerhalb eines Reports jedoch die einzelnen Werte (z.B. Monat und Jahr) getrennt benötige, versuche ich mich gerade damit, das Datum aufzuteilen. Da ich jedoch noch "Anfänger" bin was die SQL-Programmierung angeht, komme ich momentan nicht weiter.
    Ich bin bisher soweit, dass ich über den Befehl:
    CONVERT (char(4), [DATUMSFELD], 102) as [Jahr]
    wenigstens schon einmal das Jahr in einer separaten Spalte ausweisen kann. Nun komme ich jedoch mit dem Monat nicht mehr weiter.

    Hat vielleicht jemand eine Idee, wie ich auch den Monat in einer separaten Spalte ausgeben kann?

    Vielen Dank im Voraus.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Dafür gibt es passende Funktionen, ganz sicher auch in M$-SQL. In PostgreSQL ginge es via extract() zum Beispiel:

    Code:
    test=*# select extract(month from current_date);
     date_part
    -----------
      9
    (1 row)
    
    test=*#
    
     
  3. ukulele

    ukulele Datenbank-Guru

    In MSSQL gibt es zahlreiche Datumsfunktionen, dafür ist das Datumsformat ja da. Beispiel:
    Code:
    SELECT datepart(yyyy,[DATUMSFELD]) AS jahr,datepart(mm,[DATUMSFELD]) AS monat,datepart(dd,[DATUMSFELD]) AS tag, datepart(hh,[DATUMSFELD]) AS stunde FROM tabelle
    Ausgabe sind ganze Zahlen, das läßt sich zur Not aber auch in Zeichen konvertieren.
     
  4. Mario Pflaum

    Mario Pflaum Neuer Benutzer

    Vielen Dank für die schnellen Antworten. Soweit hat es geklappt.
    Wenn ich nun noch hinbekomme, dass die Monate 1 bis 9 im Format "01", "02", "03"... ausgegeben werden hab ich es geschafft.
     
  5. ukulele

    ukulele Datenbank-Guru

    Code:
     SELECT right('0' + cast(datepart(mm,[DATUMSFELD]) AS VARCHAR(2)),2) AS monat
    Muss man etwas tricksen. Die Zahl zur Zeichenkette formatieren und eine Null davor setzen. Ist die Zahl schon zweistellig, fällt die Null wieder weg wenn man die Zeichenkette immer auf 2 Stellen von Rechts kürzt.
     
  6. Mario Pflaum

    Mario Pflaum Neuer Benutzer

    Vielen Dank - Perfekt :) :)
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden