[MSSQL] convert

kesnw

Erfahrenes Mitglied
Hi,

wie kann ich in mssql ein Datum (smalldatetime) in folgendem Format auslesen:

YYYYMMDDhhmmss

Hoffe mir kann jemand helfen.
 
Das ist schonmal nicht schlecht. Aber die Ausgabe sollte im Optimalfall komplett ohne Trenn-/ Leerzeichen sein.
 
Probier al diese Funktion, sollte weitestgehend selbsterklärend sein...

CREATE FUNCTION [dbo].[udf_strdate] (@inputDate datetime)
RETURNS varchar (20) AS
BEGIN
DECLARE @datestring varchar (20)

--Get date in format yyyy-mm-dd hh:mi:ss
SELECT @datestring = CONVERT (varchar (20), @inputDate, 120)
--strip off '-'
SELECT @datestring = REPLACE (@datestring, '-', '')
--strip off ':'
SELECT @datestring = REPLACE (@datestring, ':', '')
--strip off ' '
SELECT @datestring = REPLACE (@datestring, ' ', '')
--Return result
RETURN @datestring

END
GO
SELECT [dbo].[udf_strdate] (GETDATE())
 
hallo

ich habe auch ein problem mit einem datumsformat. ich habe dieses format in der db:

2005-06-08 17:00:00.000

kann ich jetzt irgendwie ein select absetzen, dass mir immer nur die daten vom heutigen Tag ausgegben werden? das heisst, z.b eine Where abfrage mit heutigem datum geht das überhaupt?

mfg
 
Klar, zB so

Select * From YourTable Where CONVERT (varchar (10), datumsfeld, 104) = (varchar (10), GETDATE(), 104)

Zur Erklärung:

GETDATE () gibt das aktuelle Datum aus (auch als YYYY-MM-DD hh:mm:ss.xxx)

Durch die Funktion Convert formatierren wir die Datumswerte in einen String ohne die Zeitangabe. Voila...
 
Zurück