簡體   English   中英

如何獲取代表一個月第一天的日期?

[英]How to get date representing the first day of a month?

我需要腳本中的功能,該功能使我能夠將日期插入表中。

我需要什么SQL插入格式的日期

01/08/2010 00:00:00

日期是當前月份的第一天。 我需要更改可以指定月份值的訂單嗎? 謝謝

最好的和最簡單的方法是使用:

SELECT DATEADD(m, DATEDIFF(m, 0, GETDATE()), 0)

只需將GETDATE()替換為您需要的任何日期。

可接受的答案有效,並且可能更快,但是SQL 2012及更高版本具有更容易理解的方法:

SELECT cast(format(GETDATE(), 'yyyy-MM-01') as Date)
select cast(cast(datepart(year,getdate()) as char(4)) 
+ '/' 
+ cast(datepart(month,getdate()) as char(2))
+ '/01' as datetime)

這是一種非常簡單的方法(使用SQL 2012或更高版本)

datefromparts(year(getdate()),month(getdate()),1)

您還可以使用以下方式輕松獲取每月的最后一天

eomonth(getdate())

SELECT DATEADD(day,1-DATEpart(day,GETDATE()),GETDATE())

我認為通常將字符串轉換為MM / DD / YY HH:mm:ss,您需要使用08/01/2010 00:00:00

抱歉,誤解了這個問題,想看看是否可以更改字符串的順序。

這可能是您想要的:

declare @test as date

select @test = CONVERT(date, '01/08/2010 00:00:00', 103)
select convert(varchar(15), @test, 106)

從此鏈接修改。 這將作為字符串返回,但是您可以根據需要進行修改以返回日期時間數據類型。

SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GetDate())-1),GetDate()),101) 
SELECT  CAST(FLOOR(CAST(DATEADD(d, 1 - DAY(GETDATE()), GETDATE()) AS FLOAT)) AS DATETIME)
SELECT DATEADD(m, DATEDIFF(m, 0, GETDATE()), 0)

這工作得很好。 我實際上添加了一個Case語句。 感謝您的帖子:

SELECT Case(DATEADD(m, DATEDIFF(m, 0, GETDATE()), 0) as Date)

從雙中選擇last_day(add_months(sysdate,-1))+ 1;

從SQL Server 2012開始,您可以使用eomonth內置函數 ,該函數旨在獲得月底的eomonth ,但也可以用於獲得開始日期:

select dateadd(day, 1, eomonth(<date>, -1))

如果您需要將結果作為datetime等,只需cast其轉換為:

select cast(dateadd(day, 1, eomonth(<date>, -1)) as datetime)

獲取上個月的第一天

Select ADDDATE(LAST_DAY(ADDDATE(now(), INTERVAL -2 MONTH)), INTERVAL 1 DAY);

獲取上個月的最后一天

Select LAST_DAY(ADDDATE(now(), INTERVAL -1 MONTH));

...在Powershell中,您可以執行以下操作:

Get-Date(get-Date((Get-Date))-format MM.yyyy)

...在上個月執行此操作:

Get-Date(get-Date((Get-Date).AddMonths(-1))-format MM.yyyy)

...或對於自定義日期,請執行以下操作:

Get-Date(get-Date((Get-Date 12.01.2013))-format MM.yyyy)

m sure there可能發生這種情況...

格魯斯

很簡單的代碼即可做到這一點

$ date-提取(從$ date開始的天數)+1

兩種方法可以做到這一點:

  1. my_date-提取(從my_date開始的天數)+1

  2. '2014/01/21'-摘錄(從'2014/01/21'開始的天)+ 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM