[英]Fetching date in SQL Server 2008
如何在SQL Server 2008的選擇查詢中拆分日期? 如果您在數據庫中輸入當前日期,並且數據庫中該列的類型是日期時間,則它將存儲日期和時間。如果有人只想從該列中獲取日期部分,那么他可以做什么。
我可以使用此查詢,但它不起作用。
SELECT DonorName, DATE(DateOfDonation) AS DateOfDonation
FROM CreateDonorDetail;
它給錯誤-
'DATE'不是公認的內置函數名稱。
SQL Server 2008 具有 DATE
數據類型-但是,如果您的數據庫是從SQL Server 2005升級的,並且未更改數據庫兼容性級別 ,則將其禁用。
像這樣檢查您的兼容性級別:
SELECT name, compatibility_level
FROM sys.databases
WHERE name = '-Your-database-name-here-'
如果此兼容性級別為90
,則將其設置為SQL Server 2005,並且您將無法使用DATE
。 將兼容性級別更新為100:
ALTER DATABASE AdventureWorks2012
SET COMPATIBILITY_LEVEL = 100
現在您應該可以使用DATE
:
SELECT
DonorName,
CAST(DateOfDonation AS DATE) AS DateOfDonation
FROM CreateDonorDetail;
轉換為Date
類型:
SELECT DonorName, Cast(DateOfDonation as Date) AS DateOfDonation
FROM CreateDonorDetail;
在SQL Server 2008之前,您可能會使用類似以下的內容:
SELECT DonorName, CAST(FLOOR(CAST(DateOfDonation AS FLOAT)) AS datetime) AS DateOfDonation FROM CreateDonorDetail
宣告@DateTime DATETIME
SELECT @DateTime ='2010/05/20 11:21:13'
SELECT CONVERT(VARCHAR(10),@ DateTime,105)AS日期
結果將為dd-mm-yyyy格式(105)
標記為答案是否有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.