Verwendung von cast in SQL mit mehreren Spalte Auswahl
Grundsätzlich würde ich mag, um diesen Befehl zu arbeiten:
$sql = "SELECT (EntryDate + TotalTime) as DataLine FROM TimeSheet WHERE EmployeeID='AA01'";
EntryDate ist in der Datenbank als text, aber TotalTime ist eine Zahl. Ich müssen zu wirken TotalTime als ein text, denn ich habe gemerkt, wenn ich kombinieren zwei unterschiedliche Arten von Werten, es ist nur Leerzeichen aus der Ausgabe.
Ich wissen soll ich verwenden Sie CAST(TotalTime als XXX), aber ich bin mir nicht sicher, was ich kann legal casten auf (char/nchar scheint nicht zu funktionieren, weder string noch den text). Ich bekomme immer eine Fehlermeldung der form...
Syntax error (missing operator) in query expression '(EntryDate + CAST(TotalTime as string) as DataLine FROM TimeSheet WHERE EmployeeID='AA01''
Bekomme ich Hilfe? Danke!
BEARBEITEN ich möchte zu beachten, dass diese nicht beabsichtigte, addieren Sie die Werte von EntryDate und TotalTime gemeinsam zu produzieren ein einzelner Wert. Ich will nur, dass es mir die EntryDate-Wert als auch die TotalTime Wert kombiniert in einer einzigen Zeile, die würden sowas lese wie:
"10/31/12 9.25"
BEARBEITEN WIEDER ich bin leider nicht die Angabe vor, ich bin mit MSSQL
check meinen post weiter unten, ich bearbeitete es, wenn Sie mysql verwenden
InformationsquelleAutor Hoser | 2012-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Jedoch, wenn
entrydate
ist ein Datum und die inttotaltime
ist eine Zeit, kann es besser sein, zu prüfen, konvertieren Sie Sie als ein datetime-Objekt, indem Sie Sie als ein Datum Teil Zeit-Teil je auf das RDBMS, das Sie verwenden. Und wenn möglich verwenden Sie einenDATETIME
Datentyp repräsentieren sowohl Datum und Zeit Teile, statt in zwei Teile. Etwa so:SQL Fiddle Demo
Auch dies scheint mir die 'fehlender operator' Fehler
Was ist der Typ von entrydate? und was RDBMS, das Sie verwenden, MSSQL oder mysql ,..?
EntryDate ist vom Typ Text. Und ich bin mit MSSQL
Es sollte gut funktionieren. Versuchen
ADDDATE
Funktion. Siehe mein edit.InformationsquelleAutor Mahmoud Gamal
MSSQL:
MySQL
benutzt du MySQL oder MSSQL?
Ich bin mit MSSQL
Es funktioniert immer noch nicht, dass Sie mir den gleichen 'fehlender operator' Fehler leider. Ich habe versucht mit der MySQL-version nur für kicks, aber er sagte mir, CONCAT ist keine gültige Methode, die ich dachte, würde passieren.
InformationsquelleAutor patrick choi