Josef: Nur Zeit Ausgegebn wenn auch vorhanden MYSQL

Ich habe in meiner SELCET Anweisung folgenden Befehl
DATE_FORMAT(datum,'%H:%i')AS uhrzeit
dieser wird immer ausgeführt, aber ich möchte nur das in die Variable uhrzeit auch geschrieben wird, wenn in der Datenbank auch eine Uhrzeit steht.

Josef

  1. Moin

    Ich habe in meiner SELCET Anweisung folgenden Befehl
    DATE_FORMAT(datum,'%H:%i')AS uhrzeit

    nur als Schnellschußbeispiel:

      
    SELECT  IF(ISNULL(datum) OR YEAR(datum)=0 ,NULL, DATE_FORMAT(datum,'%H:%i')) uhrzeit  
    
    

    Dies aber nur wenn 'datm' als Datumsformat hinterlegt ist

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ## Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  2. Tach!

    Ich habe in meiner SELCET Anweisung folgenden Befehl
    DATE_FORMAT(datum,'%H:%i')AS uhrzeit
    dieser wird immer ausgeführt, aber ich möchte nur das in die Variable uhrzeit auch geschrieben wird, wenn in der Datenbank auch eine Uhrzeit steht.

    Was definierst du denn als "in der Datenbank steht (k)eine Uhrzeit"? Welchen Typ hat denn das Feld datum?

    uhrzeit ist keine Variable sondern ein Aliasname. Ein SELECT gibt keine Variablen zurück sondern eine Ergebnismenge mit einer Anzahl an Zeilen und einer Anzahl an Feldern. Ein Auslassen von Felder gibt es nicht, die Zeilen haben immer gleich viele Felder. Wenn du für einen bestimmten Wert kein Ergebnis haben möchtest, musst du irgendeinen Ersatz nehmen, NULL beispielsweise. DATE_FORMAT() liefert NULL, wenn im Datums-/Zeit-Feld NULL einthalten ist. Ansonsten gibt es immer eine gültige Uhrzeit, und sei es 00:00:00. Eine Lösung für das Problem kann ich erst nach Beantwortung der beiden Fragen suchen.

    dedlfix.