Wenn ich in SQL ein Datum auswähle, wird es als zurückgegeben 2011-02-25 21:17:33.933
. Aber ich brauche nur den Datumsteil, das heißt 2011-02-25
. Wie kann ich das machen?
sql
sql-server
sql-server-2005
Neeraj
quelle
quelle
Antworten:
Ich denke, er will eine Schnur.
120 teilt hier der Konvertierungsfunktion mit, dass wir das Eingabedatum im folgenden Format übergeben :
yyyy-mm-dd hh:mi:ss
.quelle
Für SQL Server 2008:
Weitere Informationen finden Sie unter https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
quelle
DATE
ist neu in 2008.date
Datentyp, sodass diese Lösung ungültig wird.Das schnellste ist
datediff
zWenn Sie jedoch nur den Wert verwenden müssen, können Sie das Datum überspringen, z
wobei der Ausdruck
datediff(d, 0, getdate())
ausreicht, um das heutige Datum ohne Zeitanteil zurückzugeben.quelle
Verwenden Sie CAST (GETDATE () als Datum), das für mich einfach funktioniert hat.
quelle
CAST(order_date AS DATE)
http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm
quelle
Sie können so verwenden
quelle
Für 2008 ältere Version :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
quelle
Es ist etwas spät, aber verwenden Sie die ODBC-Funktion "curdate" (spitze Klammern 'fn' ist die Escape-Sequenz der ODBC-Funktion).
Ausgabe:
2013-02-01
quelle
SELECT {fn curdate()} FROM (SELECT 1) AS T(X)
und sich den tatsächlichen Ausführungsplan (XML-Version) ansehen, werden Sie feststellen, dass tatsächlich ausgeführt wirdCONVERT(varchar(10),getdate(),23)
. Der Datentyp dieser ODBC-Funktion istvarchar(10)
also, dass Sie, wenn Sie das Ergebnis mit einem vergleichen möchtendatetime
, eine implizite Konvertierung vonvarchar(10)
zudatetime
in eine Zeichenfolge erhaltenyyyy-mm-dd
. Diese implizite Konvertierung schlägt mit fehlset dateformat dmy
.Sie können diesen auch versuchen.
quelle
Konvertieren Sie es nach der Konvertierung in Datum wieder in Datum / Uhrzeit, um bei Bedarf dieselbe Datenzeit beizubehalten
quelle
Für den Fall, dass Sie die Zeit brauchen, um Nullen zu sein, wie
2018-01-17 00:00:00.000
:SELECT CONVERT(DATETIME, CONVERT(DATE, GETDATE()), 121)
quelle
Die Verwendung ist einfach:
Beispiel unten:
Tabelle:
quelle
Es ist zu spät, aber das Folgen hat bei mir gut funktioniert
Wenn der Datentyp Datum ist, werden die Stunden abgeschnitten
quelle
In PLSQL können Sie verwenden
quelle
Konvertieren Sie zuerst das Datum in Gleitkomma (das die
ROUND
Zahl anzeigt), dann die Zahl in 0 Dezimalstellen und konvertieren Sie diese dann in Datum / Uhrzeit.quelle
Wenn Sie einen Datumstyp nur als Datum zurückgeben möchten, verwenden Sie
oder
oder
quelle
Versuche dies.
quelle