How can i obtain the date only from the datetime column?
本问题已经有最佳答案,请猛点这里访问。
我有以下问题
1 | SELECT GETDATE() |
我的名字是2013-11-16 03:31:07.740我只想要日期部分和省略时间部分。
我已经用过
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | select convert(varchar, getdate(), 100) convertResult,100 style union select convert(varchar, getdate(), 101),101 union select convert(varchar, getdate(), 102),102 union select convert(varchar, getdate(), 103),103 union select convert(varchar, getdate(), 104),104 union select convert(varchar, getdate(), 105),105 union select convert(varchar, getdate(), 106),106 union select convert(varchar, getdate(), 107),107 union select convert(varchar, getdate(), 108),108 union select convert(varchar, getdate(), 109),109 union select convert(varchar, getdate(), 110),110 union select convert(varchar, getdate(), 111),111 union select convert(varchar, getdate(), 112),112 union select convert(varchar, getdate(), 113),113 union select convert(varchar, getdate(), 114),114 union select convert(varchar, getdate(), 120),120 union select convert(varchar, getdate(), 121),121 union select convert(varchar, getdate(), 126),126 union select convert(varchar, getdate(), 127),127 union select convert(varchar, getdate(), 130),130 union select convert(varchar, getdate(), 131),131 order by 2 |
但没有任何组合只给出日期部分。
最高效的将来保持它的is a date of转换型,而不是它的字符串: </P >
1 | SELECT CONVERT(DATE, GETDATE()); |
如果你真的想要的输出字符串的方法:什么原因 </P >
1 | SELECT CONVERT(CHAR(10), GETDATE(), 120); |
(有没有原则的使用
在接受和高度上voted的答案是,"建议重复-这我会担心这个问题的正则闭,由于旅鼠因子并不adequately解决这个问题。 </P >
它使用的一种技术,这是一种有效的方法,在SQL Server 2000和SQL Server 2005年,但不用于SQL Server 2008年,由于以上的转换是更高效的比结婚日期(数学的差别是probably negligible,但它的原则性的东西)。 </P >
它仍然时返回时,在输出(它是在午夜去大学现在)。在OP在这里不想时都包括在产出(无论是真实的或午夜时,等)。 </P >
因为你是SQL Server 2008 </P >
1 | SELECT cast(GETDATE() as DATE) |
1 | SELECT CONVERT(VARCHAR(10), GETDATE(), 101) |
时返回 </P >
1 2 3 | 11/15/2013 SELECT CONVERT(VARCHAR(10), GETDATE(), 120) |
时返回 </P >
1 | 2013-11-15 |