Datum in das Format JJJJMMDDHHMMSS bringen

By Frank Kalis

Posted on Jul 13, 2004 von in SQL Server

Eigentlich würde man so eine Aufgabe wahrscheinlich besser im Client code verarbeiten, aber wenn's denn unbedingt der Server sein soll, könnte dies folgendermaßen aussehen:

DECLARE @date DATETIME
SET @date = '19.10.2003 09:48:22'

SELECT
CAST(
CONVERT(CHAR(4), YEAR(@date)) +
CONVERT(CHAR(2), RIGHT('0' + CONVERT(VARCHAR, MONTH(@date)), 2)) +
CONVERT(CHAR(2), RIGHT('0' + CONVERT(VARCHAR, DAY(@date)), 2)) +
CONVERT(CHAR(2), RIGHT('0' + CONVERT(VARCHAR, DATEPART(hour, @date)), 2)) +
CONVERT(CHAR(2), RIGHT('0' + CONVERT(VARCHAR, DATEPART(minute,@date)), 2)) +
CONVERT(CHAR(2), RIGHT('0' + CONVERT(VARCHAR, DATEPART(second,@date)), 2))
AS CHAR(14))

/*oder*/
SELECT
SUBSTRING(REPLACE(REPLACE(REPLACE(CONVERT(CHAR,@date,120),'-',''),' ',''),':',''),1,14)


--------------
20031019094822

(1 row(s) affected)


--------------
20031019094822

(1 row(s) affected)

Nachtrag 20.09.2004: Offentsichtlich geht es auch noch eine Spur einfacher:

DECLARE @date DATETIME
SET @date = '19.10.2003 09:48:22'
SELECT
REPLACE(REPLACE(REPLACE(CONVERT(CHAR,@date,120),'-',''),' ',''),':','')

-------------------
20031019094822

(1 row(s) affected)
Dieser Eintrag wurde eingetragen von und ist abgelegt unter SQL Server. Tags: , ,

Noch kein Feedback


Formular wird geladen...