[英]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
兩種方法可以做到這一點:
my_date-提取(從my_date開始的天數)+1
'2014/01/21'-摘錄(從'2014/01/21'開始的天)+ 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.