Format () - Funktion nicht funktioniert?
Ich versuche, führen Sie die folgenden built-in-Funktion in sql, aber es gibt mir eine Fehlermeldung, dass diese Funktion nicht vorhanden ist
meiner Abfrage:
select EmpId, EmpName, format(EmpJoinDate, "YYYY-DD-MM") as date from Employee
Fehler, die ich immer bin:
'format' is not a recognized built-in function name
Was kann das problem sein, oder was mache ich falsch?
Dank!
InformationsquelleAutor | 2011-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
Convert
- Funktion statt. Beispiel:Denn es existiert nicht in SQL Server, denken Sie da Zugang?
Denn wie die Fehlermeldung sagt, es ist keine gültige Funktion.
Ja. w3schools ist schrecklich; siehe w3fools.com - beliebige SQL-Dialekt von seinen reden ist nicht T-SQL.
Format ist in T-SQL ab version 2012 auf.msdn.microsoft.com/en-us/library/hh213505(v=sql.110).aspx
InformationsquelleAutor Kirill Polishchuk
Weil
FORMAT()
ist nicht eine built-in Funktion in SQL 2005. Sie müssen verwenden Sie dieCONVERT()
Funktion:Einige Nachteile, aber... "Datum" ist ein reserviertes Wort, ich glaube, ich würde also nicht empfehlen, auch als eine Spalte alias. Auch, die oben tatsächlich gibt YYYY-MM-DD. YYYY-DD-MM ist ziemlich selten, glaube ich. Wenn Sie wirklich wollen, dann müssen Sie entweder verketten sich die Dinge selbst zusammen mit der
DATEPART
undCAST
Funktionen oder verketten sich die Dinge mitSUBSTRING
mitCONVERT
.Führen Sie eine Suche auf
CONVERT
und Sie sollten in der Lage sein, um alle unterschiedlichen Formate unterstützt. Die, die ich oben verwendet (102) ist für YYYY.MM.DD, also Tat ich es ersetzen, geben Sie die Bindestriche statt.convert(varchar(10), EmpJoinDate, 23)
format direkt auf "YYYY-DD-MM"? Ich irgendwie erwartet, dass die beliebteste Antwort...InformationsquelleAutor Tom H
Laut MSDN-Dokumentation, http://msdn.microsoft.com/en-us/library/hh213505(SQL.110).aspx, es ist ein built-in-Funktion. Ich gehe davon aus, dass es nicht umgesetzt worden ist.
InformationsquelleAutor RW5207
Den anderen Antworten wird funktionieren, aber verwenden einige hacky string ersetzen und concats. Zwar konnten Sie
date_style
23 zu konvertieren direkt auf "YYYY-DD-MM" format:Für eine vollständige Liste der Formate, die ich möchte, um auf diese genial SO-Antwort: https://stackoverflow.com/a/19537658/2140636
InformationsquelleAutor T_D