code_junkie

SQL Drop Time in DateTime

Nov 13th, 2011
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. 2009-01-10 10:00:00.000
  2.  
  3. 2009-01-10 12:00:00.000
  4.  
  5. SELECT DATEADD(dd, DATEDIFF(d, 0, Getdate()), 0)
  6.  
  7. declare @d datetime
  8. set @d = getdate()
  9.  
  10. select dateadd(d, datediff(day, 0, @d), 0)
  11.  
  12. SELECT (CAST(FLOOR(CAST(GETDATE() as FLOAT)) AS DateTime))
  13.  
  14. DECLARE @DaysFromGoLive int
  15. SET @DaysFromGoLive = (SELECT (DATEDIFF(dd,'10/01/2007',GETDATE()) + 1)) /* Days from go live is the starting date of the table */
  16.  
  17. SELECT TOP 10950 --30 years of days
  18. IDENTITY(INT,1,1) as N
  19. INTO #Numbers
  20. FROM Master.dbo.SysColumns sc1,
  21. Master.dbo.SysColumns sc2
  22.  
  23. CREATE TABLE [dbo].[TableOfDates](
  24. [fld_date] [datetime] NOT NULL,
  25. CONSTRAINT [PK_TableOfDates] PRIMARY KEY CLUSTERED
  26. (
  27. [fld_date] ASC
  28. )WITH FILLFACTOR = 99 ON [PRIMARY]
  29. ) ON [PRIMARY]
  30.  
  31.  
  32. INSERT INTO
  33. dbo.TableOfDates
  34. SELECT
  35. DATEADD(dd,nums.n - @DaysFromGoLive,CAST(FLOOR(CAST(GETDATE() as FLOAT)) as DateTime)) as FLD_Date
  36. FROM #Numbers nums
  37.  
  38. SELECT MIN(FLD_Date) FROM dbo.TableOfDates
  39. SELECT MAX(FLD_Date) FROM dbo.TableOfDates
  40.  
  41. DROP TABLE #Numbers
  42.  
  43. Select * From SomeTable Where (DateDiff(d, FirstDate, SecondDate) = 0)
  44.  
  45. convert(char(10),getdate(),101)
  46.  
  47. [A] JOIN [B] ON SQLMenace([A].datetime) = SQLMenace([B].datetime)
  48.  
  49. (Where SQLMenace() is the operation he described *grin*)
  50.  
  51. [A] JOIN [B] ON [A].datetime >= SQLMenace([B].datetime) AND [A].datetime < SQLMenace([B].datetime)
  52.  
  53. create table #datedemo(
  54. id integer primary key identity(1,1) not null
  55. ,date datetime not null
  56. ,dateint int
  57. )
  58.  
  59. insert into #datedemo (date)
  60. select '2009-Jan-29 02:12:00'
  61. union all select '2009-Jan-29 16:22:00'
  62. union all select '2009-Jan-30 00:32:00'
  63. union all select '2009-Jan-30 13:42:00'
  64. union all select '2009-Jan-31 01:52:00'
  65. union all select '2009-Feb-01 12:02:00'
  66.  
  67. update #datedemo set dateint = floor(cast(date as float))
  68.  
  69. select id,date,dateint,cast(dateint as datetime) from #datedemo
  70. where dateint = floor(cast(cast('2009-Jan-30' as datetime)as float))
  71.  
  72. drop table #datedemo
  73.  
  74. public partial class UserDefinedFunctions
  75. {
  76. [Microsoft.SqlServer.Server.SqlFunction]
  77. public static SqlDateTime StripTime(SqlDateTime date)
  78. {
  79. return date.IsNull ? SqlDateTime.Null : new SqlDateTime(date.DayTicks, 0);
  80. }
  81. };
  82.  
  83. CONVERT( smalldatetime, @myDate, 103 )
Add Comment
Please, Sign In to add comment