wake-up-neo.com

So erhalten Sie ein bestimmtes Datumsformat ('dd-MMM-yyyy') in der SELECT-Abfrage SQL Server 2008 R2

Ich verwende CONVERT(data_type(length),expression,style) function, um das Format eines Datums in einer SELECT-Abfrage zu ändern. 

Deklariere @dt nvarchar (20) 

Wählen Sie @dt = Convert (nvarchar (20), SalesDate, 113) FROM SalesTable aus

Das Format, das ich brauche, ist 'dd-MMM-yyyy' (z. B. '05-Jul-2013 '), aber ich konnte die richtige Style-Nummer (z. B. 113) für dieses bestimmte Format nicht finden. Kann mir da bitte einer helfen? 

11

Versuche dies:

Declare @dt NVARCHAR(20)

Select 
    @dt = REPLACE(CONVERT(CHAR(15), SalesDate, 106),' ',' - ') 
FROM SalesTable
26
Abhishek Jain
select CONVERT(NVARCHAR, SYSDATETIME(), 106) AS [DD-MON-YYYY]

oder aber

select REPLACE(CONVERT(NVARCHAR,GETDATE(), 106), ' ', '-')

beide funktionieren gut

8
abcd123

Es sieht nicht so aus, als ob TT-MMM-JJJJ standardmäßig unterstützt wird (zumindest mit Bindestrich als Trennzeichen). Mit der AS-Klausel sollten Sie jedoch in der Lage sein, Folgendes zu tun:

SELECT CONVERT(VARCHAR(11), SYSDATETIME(), 106) AS [DD-MON-YYYY]

Siehe hier: http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx

6
Brett

Ich denke, das ist der beste Weg, es zu tun.

REPLACE(CONVERT(NVARCHAR,CAST(WeekEnding AS DATETIME), 106), ' ', '-')

Da Sie varchar(11) oder varchar(10) nicht verwenden müssen, kann dies in Zukunft zu Problemen führen.

4
Manish
select convert(varchar(11), transfer_date, 106)

habe mir mein gewünschtes Datumsdatum als 07. März 2018 formatiert

Meine Spalte transfer_date ist eine Datetime-Spalte, und ich verwende SQL Server 2017 in Azure

1
SELECT Convert(varchar(10),CONVERT(date,'columnname',105),105) as "end";

OR

SELECT CONVERT(VARCHAR(10), CAST(event_enddate AS DATE), 105) AS [end];

gibt das bestimmte Datum im Format "TT-MM-JJJJ" zurück

Das Ergebnis wäre so ..

04-07-2016
1
Deepak Keynes