我正在SQL Server 2005中的日期時間列上運行選擇。我可以只選擇此日期時間列中的日期?如何從T-Sql中的datetime中提取日期?
6
A
回答
6
最好的方法是:
SELECT DATEADD(day, DATEDIFF(Day, 0, @ADate), 0)
這是因爲在內部,SQL Server將所有日期存儲爲兩個整數,其中第一個日期是***自1900年1月1日起的***天數。(第二個是時間部分,存儲作爲自午夜以來的秒數。 (SmallDateTime
s的秒數或DateTime
s的毫秒數)
使用上述表達式更好,因爲它避免了所有轉換,直接讀取並訪問日期內部表示中的第一個整數,而無需執行任何處理......兩個零在上面的表達式(代表1900年1月1日)中,也是直接利用W/O處理或轉換,因爲它們與日期1月1900的SQL服務器內部表示完全匹配(作爲整數)。
*注意。實際上,你必須跨越日期邊界(midnights)的數量才能從一個日期到另一個日期。
1
可以使用的功能:
day(date)
month(date)
year(date)
+0
是否還有類似的時間部分功能?像小時(日期),分鐘(日期)。謝謝 – curiousBoy 2013-11-25 23:30:25
1
而且日期部分()函數可能是一些使用:
http://msdn.microsoft.com/en-us/library/ms174420(SQL.90).aspx
5
是,通過使用convert函數。例如:
select getdate(), convert(varchar(10),getdate(),120)
結果:
----------------------- ----------
2010-05-21 13:43:23.117 2010-05-21
0
DECLARE @dToday DATETIME
SET @dToday = CONVERT(nvarchar(20), GETDATE(), 101)
SELECT @dToday AS Today
這個上午12:00返回今天的日期: '2010-05-21 00:00:00.000' 然後你可以使用根據需要查詢@dToday變量
相關問題
- 1. 如何從SSIS中的SQL datetime值提取日期?
- 2. 如何從datetime中提取日期時間作爲varchar存儲
- 3. 從datetime列提取日期 - SQL Server Compact
- 4. 從SQL Server Compact 3.5中的datetime中提取日期部分
- 5. 從JavaScript中的DateTime對象中僅提取日期?
- 6. 從C#中的DateTime中提取日期部分
- 7. 如何從groovy中的日期中提取一年的日期
- 8. 如何僅從sqlserver中的DateTime信息中獲取日期?
- 9. 如何從dateTime對象獲取日期
- 10. 如何獲取DateTime中的兩個日期之間的日期
- 11. 從MYSQL中提取日期
- 12. 從datepickers中提取日期
- 13. TSQL - 如何從文件中讀取日期時間與xp_dirtree
- 14. 如何從XSLT中的DateTime獲取日期
- 15. TSQL如何僅更新特定日期的DATETIME列的日期部分
- 16. 如何從datetime系列中刪除年份 - 日期 - 日期? [python]
- 17. pandas:如何使用datetime索引從DataFrame中提取一組日期?
- 18. 從PHP中的MYSQL中提取日期
- 19. 如何在Sqlite(android)中從datetime字段獲取日期
- 20. 從DateTime中提取值
- 21. 如何從完整日期日期字符串中提取短日期?
- 22. 如何從datepicker中的日期中提取日期和月份(用文字)?
- 23. 如何從PHP中的日期對象中提取日期字符串
- 24. 如何從Oracle中的日期字段中僅提取日期值?
- 25. 如何在tsql中從日期和字符串中創建日期時間
- 26. 如何從日曆中獲取日期?
- 27. 如何從DateTime中獲取長日期格式而無需工作日
- 28. 如何從android中的日期選擇器中獲取日期?
- 29. 從r中的日期提取僅四分之一的日期
- 30. 獲取日期部分僅用於比較日期中的DateTime
在查看回復之前,我已經想清楚了,但這是我走過的路,而且完美無缺。 – 2010-05-25 12:59:45