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?
Versuche dies:
Declare @dt NVARCHAR(20)
Select
@dt = REPLACE(CONVERT(CHAR(15), SalesDate, 106),' ',' - ')
FROM SalesTable
select CONVERT(NVARCHAR, SYSDATETIME(), 106) AS [DD-MON-YYYY]
oder aber
select REPLACE(CONVERT(NVARCHAR,GETDATE(), 106), ' ', '-')
beide funktionieren gut
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
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.
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
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