-2
我需要編寫一個查詢,返回一個月的天數。 請理解我無法使用DATE,並且任何具有DATE的查詢都無法使用。一個月的總天數
我已經創建了一個int值的參數。在1月爲1,二月是2等
從值1或2,我希望得到的天數一樣的1天數應爲31和2應該是28或29
我正在使用Ms sql-server-2008。
幫助是必需的。
Regards,
我需要編寫一個查詢,返回一個月的天數。 請理解我無法使用DATE,並且任何具有DATE的查詢都無法使用。一個月的總天數
我已經創建了一個int值的參數。在1月爲1,二月是2等
從值1或2,我希望得到的天數一樣的1天數應爲31和2應該是28或29
我正在使用Ms sql-server-2008。
幫助是必需的。
Regards,
因此,您始終可以使用日期部件建立日期。您可能想要驗證輸入並將此邏輯轉換爲您的需要。
DECLARE @year SMALLINT = 2017;
DECLARE @month TINYINT = 2;
DECLARE @dateFrom DATE = CONVERT(DATE,
CONVERT(CHAR(4), @year) + '-'
+ RIGHT('00' + CONVERT(VARCHAR(2), @month), 2)
+ '-01'
);
DECLARE @dateTo DATE = DATEADD(MONTH, 1, @dateFrom);
SELECT DATEDIFF(DAY, @dateFrom, @dateTo);
- 或 -
如果你真的熱衷於不使用任何計算,只是一個查詢,表中的這些值存儲和使用的輸入值查詢該表。
非常感謝Pred。該服務器的目的。你節省了我很多時間。 – JamshaidRiaz
看看這個鏈接:https://stackoverflow.com/questions/691022/how-to-determine-the-number-of-days-in-a-month-in-sql-server –
可能重複的[如何確定一個月在SQL Server中的天數?](https://stackoverflow.com/questions/691022/how-to-determine-the-number-of-days-in-a-month-in- sql-server) – deblocker
看起來我們找到了同樣的東西! –