Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] datum convert problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] datum convert problem

    hey leute ich hab eine mssql frage
    und zwar (egal was ich mach) er hat immer ein convert problem
    PHP-Code:
    where sb.salesdate >= convert(date,case
            
    WHEN(MONTH(GETDATE()) > 8)
            
    then year(GETDATE())+'-09-01'
            
    else (YEAR(GETDATE())-1)+'-09-01'
            
    end,21
    aktuelle fehlermeldung bei dem code =
    Code:
    Die explizite Konvertierung des int-Datentyps in date ist nicht zulässig.

  • #2
    Klammern zählen....
    Code:
    convert(                                        -- 1 öffnende 
    date, case 
      WHEN( MONTH(GETDATE()) > 8                    -- 3 öffnende, 2 schliessende
      then year( GETDATE() )+'-09-01'               -- 2 öffnende, 2 schliessende
            else ( YEAR( GETDATE() )-1 )+'-09-01'   -- 3 öffnende, 3 schliessende
            end,21 
    )                                               -- 1 schliessende

    Kommentar


    • #3
      sorry ,trotzdem danke
      das ist passiert weil ich einiges aus dem code weggegeben hab


      okeyaber das löst mein convert problem nicht

      Kommentar


      • #4
        Setz doch erstmal die richtigen Klammern...

        Ausserdem kann ich mir vorstellen, das sowas:
        Code:
        year( GETDATE() )+'-09-01'
        die Datenbank dazu verleiten könnte, '-09-01' zu einem Integer zu konvertieren (impliziter Cast), da der erste Teil des Ausdruck ein Integer ist.

        Versuch es mal so:
        Code:
        ''+year( GETDATE() )+'-09-01'

        Kommentar


        • #5
          okey,
          danke für die schnelle antwort
          vergessen wir meinen code (deiner is ja genau was ich brauch und den bau ich dann schon in meinen ein)

          PHP-Code:
          select ''+yearGETDATE() )+'-09-01' 
          dann kommt:
          Code:
          Fehler beim Konvertieren des varchar-Werts '-09-01' in den int-Datentyp.

          Kommentar


          • #6
            Probier's mit einem CAST des INT-Wertes in einen String, bevor du sie mit + verkettest.

            http://forum.de.selfhtml.org/archiv/2004/12/t96653/

            Kommentar


            • #7
              schon probiert dann kommt das er den varchar wert in in ein int umwandeln kann
              Fehler beim Konvertieren des varchar-Werts '-09-01' in den int-Datentyp.
              wieso ist der soooo blöd????
              nicht mal so gehts
              Code:
              select ''+year( GETDATE() )+''+cast('-09-01' as varchar)

              Kommentar


              • #8
                Zitat von clemo Beitrag anzeigen
                wieso ist der soooo blöd????
                Weiß ich auch nicht ... aber ich versuche trotzdem, ihm weiter zu helfen ...

                schon probiert dann kommt das er den varchar wert in in ein int umwandeln kann
                Fehler beim Konvertieren des varchar-Werts '-09-01' in den int-Datentyp.
                Ich meinte es ja auch genau andersherum - den INT-Wert in einen STRING-Typ umwandeln.

                Kommentar


                • #9
                  PHP-Code:
                  select ''+cast(yearGETDATE() )as varchar)+''+cast('-09-01' as varchar
                  nein das gibts ja nicht so funktionierts ja wirklich
                  sooo viel zeit wegen soo nen scha* verschwendet
                  DANKE!!!!!!!!
                  trotzdem is a blöd
                  mysql ist nicht so heiklich^^
                  greez

                  Kommentar

                  Lädt...
                  X