wake-up-neo.com

Konvertieren Sie das Datumsformat in das Format TT/MMM/YYYY in SQL Server

Ich habe eine Abfrage in SQL, ich muss Datum in einem Format von dd/mmm/yy bekommen 

Beispiel: 25/jun/2013

Wie kann ich es für SQL Server konvertieren?

54
Krish KvR

Ich bin nicht sicher, ob das gewünschte Format genau übereinstimmt. Mit convert() und style 106 können Sie jedoch näher kommen. Ersetzen Sie dann die Leerzeichen:

SELECT replace(convert(NVARCHAR, getdate(), 106), ' ', '/')
61

Für SQL Server 2008 gibt es bereits mehrere Antworten und Formatierungstypen . Diese Methode ist jedoch mehrdeutig und es wäre schwierig für Sie, sich die Nummer in Bezug auf Specific Date Format zu merken. Deshalb gibt es in den nächsten Versionen von SQL Server eine bessere Option.

Wenn Sie SQL Server 2012 oder eine höhere Version verwenden, sollten Sie die Format () - Funktion verwenden.

FORMAT ( value, format [, culture ] )

Mit der Kulturoption können Sie das Datum für Ihre Zuschauer festlegen.

DECLARE @d DATETIME = '10/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS 'US English Result'
      ,FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result'
      ,FORMAT ( @d, 'd', 'de-de' ) AS 'German Result'
      ,FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result'; 

SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result'
      ,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result'
      ,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result'
      ,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';

US English Result Great Britain English Result  German Result Simplified Chinese (PRC) Result
----------------  ----------------------------- ------------- -------------------------------------
10/1/2011         01/10/2011                    01.10.2011    2011/10/1

US English Result            Great Britain English Result  German Result                    Chinese (Simplified PRC) Result
---------------------------- ----------------------------- -----------------------------  ---------------------------------------
Saturday, October 01, 2011   01 October 2011               Samstag, 1. Oktober 2011        2011年10月1日

Für die OP-Lösung können wir folgendes Format verwenden, das bereits von @Martin Smith erwähnt wurde:

FORMAT(GETDATE(), 'dd/MMM/yyyy', 'en-us')

Einige beispielhafte Datumsformate:

enter image description here

Wenn Sie weitere Datumsformate von SQL Server wünschen, sollten Sie folgende Website besuchen:

  1. Benutzerdefiniertes Datums- und Uhrzeitformat
  2. Standardformat für Datum und Uhrzeit
43
Somnath Muluk

wir können date in viele formate konvertieren

SELECT convert(varchar, getdate(), 106)

Dies gibt dd mon yyyy zurück. 

Mehr hier Das kann dir helfen

30
Nithesh

Die akzeptierte Antwort liefert bereits 2008 die beste Lösung mit integrierten Formatierungsmethoden.

Es ist zu beachten, dass die zurückgegebenen Ergebnisse jedoch von der Sprache des Login abhängen.

SET language Russian

SELECT replace(CONVERT(NVARCHAR, getdate(), 106), ' ', '/') 

Kehrt zurück

06/апр/2015

zum Zeitpunkt des Schreibens.

Für Leute, die auf diese Frage in neueren Versionen von SQL Server gestoßen sind, ist dies eine Methode, die dieses Problem vermeidet - und die Notwendigkeit, REPLACE zu verwenden

FORMAT(GETDATE(),'dd/MMM/yyyy', 'en-us')

Ab 2005 war es möglich, eine CLR-UDF zu schreiben, die ein DateTime, ein Formatierungsmuster und eine Kultur akzeptierte, um dasselbe zu simulieren.

9
Martin Smith

Versuchen Sie es mit der folgenden Abfrage.

SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),6), ' ','/');  

Ergebnis: 20/Jun/13

SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),106), ' ','/');  

Ergebnis: 20/Jun/2013

8
Praveen

Versuche dies :

select replace ( convert(varchar,getdate(),106),' ','/')
1
KD29

Versuche dies

select convert(varchar,getdate(),100)

der dritte Parameter ist das Format. Der Bereich reicht von 100 bis 114. Jeder sollte für Sie funktionieren.

Wenn Sie ein Datum in dd/mmm/yyyy benötigen, verwenden Sie folgendes:

replace(convert(char(11),getdate(),113),' ','-')

Ersetzen Sie getdate() durch Ihren Spaltennamen. Das hat bei mir funktioniert.

1
Chethan

Sie können diese Abfrage verwenden.

SELECT FORMAT (getdate(), 'dd/MMM/yy') as date

Hoffe, diese Abfrage hilft dir.

Vielen Dank!!

0
Nitika Chopra

Jeder, der versucht, das Datum in die Variable "Datentyp" von SQL Server manuell einzugeben, verwendet dieses Format bei der Eingabe von 

'yyyy-mm-dd' 

0
IteratioN7T