Language: SQL
A Better Way to remove Time from a SQL DateTime
'1/1/2000 1:30 AM' != '1/1/2000 1:31 AM' -- /// DECLARE @x datetime SET @x = GETDATE() SET @x = CONVERT(varchar, @x, 101) -- /// DECLARE @x datetime SET @x = GETDATE() SET @x = DATEADD(d, DATEDIFF(d, 0, @date), 0) -- /// DECLARE @Table TABLE ( Date1 datetime ,Date2 datetime ,Date3 date ) DECLARE @i int SET @i = 0 WHILE (@i < 1000000) BEGIN INSERT INTO @Table SELECT GetDate() + @i, null, null SET @i = @i + 1 END DECLARE @Timer datetime SET @Timer = getdate() UPDATE @Table SET Date2 = Date1, Date3 = Date1 PRINT 'Warm Up' PRINT DateDiff(ms, @Timer, getdate()) SET @Timer = getdate() update @Table Set Date2 = CONVERT(DATETIME, SUBSTRING(CONVERT(varchar, Date1), 1, 11)) PRINT '(English Culture only) Parse with SubString to DateTime' PRINT DateDiff(ms, @Timer, getdate()) SET @Timer = getdate() update @Table Set Date2 = CONVERT(varchar, Date1, 101) PRINT 'Convert to Varchar 101 to DateTime' PRINT DateDiff(ms, @Timer, getdate()) SET @Timer = getdate() update @Table Set Date2 = CONVERT(DATE, Date1) PRINT '(SQL2008 only) Convert from DateTime to Date to Datetime' PRINT DateDiff(ms, @Timer, getdate()) SET @Timer = getdate() update @Table Set Date3 = Date1 PRINT '(SQL2008 only) Convert from DateTime to Date' PRINT DateDiff(ms, @Timer, getdate()) SET @Timer = getdate() update @Table Set Date2 = DATEADD(d, DATEDIFF(d, 0, Date1), 0) PRINT 'Use DateDiff then DateAdd' PRINT DateDiff(ms, @Timer, getdate())
Tags:
Report Abuse
Subscribe
Discuss
What's new
What is it
New Snippet
Recent Snippets
My Snippets
Web Code
Search

