2
我有一個表,其中有一個名爲StartDateTime
的列,用於存儲日期時間值。我需要一個聲明,它將返回當前記錄上個月第一天的日期。所以,如果所保存的日期是2006-06-17 08:23:42.000
的語句返回2006-05-01 00:00:00.000
和重要的,如果保存的日期是2006-01-17 08:23:42.000
的語句返回2005-11-1 00:00:00.000
從sql server中的記錄中選擇上個月的第一天
如果我可以用這個DATEBYPARTS
看起來這將是簡單的,但不幸的是我不能。 我嘗試使用1月1日日期
CAST(
CAST(Year([StartDateTime]) as varchar(4))
+ '-' +
CAST((Month([StartDateTime])-1) as varchar(2))
+ '-' +
CAST('1' as varchar(2))
AS DATETIME)
,但它的錯誤,並給出錯誤「一個char數據類型到datetime數據類型導致超出範圍的日期時間值的轉換。」
請使用'的MONTH'而不是像'mm'簡寫。爲什麼?那麼,看看'w'和'y'做什麼。可能不是你所期望的。鍵入你的意思,而不是懶惰的快捷鍵。請。 –