tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
420
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    PHPProgi PHPProgi ist offline Mitglied Silber
    Registriert seit
    Feb 2008
    Beiträge
    66
    Hallo zusammen

    Ich habe in einer MS SQL Datenbank ein Datum. Diese Format sieht so aus: 10.07.2007

    Wenn ich dieses Feld nun abrufe bekomme ich diese Ausgabe: Jul 10 2007 12:00AM

    Wie kann ich dies mit PHP nun umformatieren? Mit DATE_FORMAT habe ich es nicht lösen können. Ich bekomme den Fehler das diese Funktion nicht bekannt sei.

    Hier mein Versuch:
    PHP-Code:
    // Select
    $docs = "SELECT DATE_FORMAT('invoice_date', '%d.%m.%Y') AS datum_neu FROM datum";
    $res = mssql_query($docs);
    $row_docs = mssql_fetch_array($res);

    // Abrufen
    <td class="tabtext"><?php echo $row_docs['datum_neu']; ?></td>

    Ich bitte dringedst um Hilfe. Besten Dank
    Gruss
     

  2. #2
    Gerhard0964 Gerhard0964 ist offline Rookie
    Registriert seit
    Mar 2008
    Ort
    Ludwigshafen (Rheinland-Pfalz)
    Beiträge
    9
    Hallo,
    ich bin jetzt auch nicht der große Könner, aber probiere es mal so:

    DATE_FORMAT( `invoice_date`, \'%d. %m. %Y\' )

    Gruß
    Gerhard
     

  3. #3
    Avatar von JensG
    JensG JensG ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Ort
    Gera (Thüringen)
    Beiträge
    517
    Hallo PHPProgi,

    wenn es sich wirklich um einen MS SQL Server handelt
    wäre das eine Lösung:

    "SELECT CONVERT(varchar(10), invoicedate, 104) AS datum_neu
    FROM datum";

    Date_Format gibt es bei MSSQL nicht, das kenne ich nur
    von MySQL.

    Gruß
    Jens
     

  4. #4
    PHPProgi PHPProgi ist offline Mitglied Silber
    Registriert seit
    Feb 2008
    Beiträge
    66
    Hallo JensG

    Besten Dank, dies hat geklappt.

    Gruss PHPProgi
     

  5. #5
    Carrear Carrear ist offline Mitglied Brokat
    Registriert seit
    Dec 2004
    Ort
    Lehrte bei Hannover
    Beiträge
    435
    Bitte das Thema noch als erledigt markieren Gruß
     

  6. #6
    airliner airliner ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Ort
    Wismar/Berlin
    Beiträge
    115
    Entschuldigt, wenn ich das Thema wieder hocholen muss, aber ich blicke langsam nicht mehr durch.

    Ich habe ein Modul für Drupal geschrieben, welches aus der ERP-Datenbank (auf MS SQL aufsetzend) die Fehlzeiten in die MySQL-Datenbank von Drupal kopieren soll.
    Die Abfrage sieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    $sql_out='SELECT
      [Tabelle1].[Name],
      CONVERT (varchar(40),[Tabell2].[Current Date],126), //mit 104 statt 126 klappt es leider nicht
     
    //hier werden noch einige mehr abgefragt, aber darum gehts hier nicht
     
     
    $query = mssql_query($sql_out);
     
    $sql_del= 'DELETE FROM fehlzeiten;';
    mysql_query($sql_del) OR die('loeschen fehlgeschlagen' . mysql_error());
     
    if(!mssql_num_rows($query))
    {
        echo "No records found";
    }
    else
    {
        while($row = mssql_fetch_row($query))
        {
                    $Name = $row[0];
            $Current_Date = $row[1];
            $Missing_Day = $row[2];
            $Employee_No = $row[3];
     
            $sql_in = "INSERT INTO fehlzeiten VALUES ('$row[3]','$row[0]','$row[1]','$row[2]');";
     
            mysql_query($sql_in) OR die('konnte nichts einfuegen  ' . mysql_error());
     
            }
     
        }
    etc...

    Die Abfrage funktioniert soweit auch ganz gut, nur wird das Datum wie folgt in MySQL eingefügt:
    YYYY-MM-DD hh:mm:ss
    Ist zwar leserlich, aber unschön.
    Um daraus ein ordentliches Datum hinzubekommen, muss ich es in Drupal an sich nochmals konvertieren.
    Code :
    1
    
    Select DATE_FORMAT(Datum, '%d.%m.%Y')

    Das wäre alles an sich kein Problem, wenn der Wunsch nicht aufkäme, dass man nicht nur nach Mitarbeiternamen suchen kann (um zu schauen, wann derjenige nicht da ist), sondern auch, wer alles an einem gewissen Datum nicht verfügbar ist.
    Und da der Mensch faul und ein Gewohnheitstier ist, wird natürlich nicht im Format YYYY-MM-DD gesucht, sondern in DD.MM.YYYY

    Nun ist also die Frage:
    Wie bekomme ich das Datum bereits "bereinigt" im gewohnten deutschen Format von der MsSQL in die MySQL übertragen,
    bzw. wie kann ich die Suchanfrage so manipulieren, dass das Format des Suchstring mit dem Format in der MySQL übereinstimmt?
     
    Wenn der Klügere immer nachgibt, wird die Welt bald von Dummen regiert.

  7. #7
    Avatar von Alex F.
    Alex F. Alex F. ist offline Mitglied Smaragd
    Registriert seit
    Jul 2004
    Beiträge
    1.034
    Zitat Zitat von airliner Beitrag anzeigen
    CONVERT (varchar(40),[Tabell2].[Current Date],126), //mit 104 statt 126 klappt es leider nicht
    Hier ist dein Problem
    Wenn du es nicht mit 104 machst bekommst du auch kein deutsches Format siehe : http://msdn.microsoft.com/en-us/libr...8(SQL.90).aspx
    Die 126 liefert genau das was du bekommst. Wenn du die 104 nicht verwenden kannst, hast du wohl eher ein anderes Problem ( Fehlerhafte installation des MSSQL oder ähnliches)
    Ich mein wenn man Zitronen bestellt, kann man keine Orangen erwarten oder ?

    Grüsse Alex
     
    Don't get set into one form, adapt it and build your own, and let it grow, be like water. .... Now, water can flow or it can crash. Be water, my friend.

Ähnliche Themen

  1. Datumsformat
    Von javaxy im Forum Java
    Antworten: 6
    Letzter Beitrag: 26.06.07, 15:43
  2. Datumsformat
    Von iLu_is_a_loser im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 09.04.05, 16:41
  3. Datumsformat
    Von xony im Forum PHP
    Antworten: 1
    Letzter Beitrag: 22.02.05, 15:07
  4. Datumsformat
    Von Nici im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 14.12.04, 15:59
  5. datumsformat
    Von lanadra im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 30.03.04, 17:47