試圖獲得上個月的最后一天,我可以像這樣獲得上個月的第一天
(DT_WSTR, 4)YEAR(DATEADD("mm", -1, GETDATE())) "/" RIGHT("0" (DT_WSTR,2)MONTH(DATEADD("mm", -1, GETDATE())),2) "/" "01"
它回傳 2022/04/01,但我真的很想得到 2022/04/30。我在想也許從本月的第一天減去一天?我只是不知道該怎么寫。
謝謝大家
uj5u.com熱心網友回復:
c# 腳本要容易得多。
DateTime FirstDayCurrentMonth = DateTime.ParseExact(
DateTime.Today.ToString("yyyyMM01"), "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
DateTime LastDayPriorMonth = FirstDayCurrentMonth.AddDays(-1);
現在您有了正確的日期,只需將其轉換為您想要的格式的字串。
strDate = LastDayPriorMonth.ToString("yyyy/MM/dd")";
這甚至可能更容易:
DateTime.Today.AddDays(-DateTime.Today.Day).ToString("yyyy/MM/dd");
uj5u.com熱心網友回復:
這是SQL;
SELECT CONVERT(VARCHAR(10), DATEADD(day, -1, DATEADD(m, DATEDIFF(m, 0, getdate()), 0)),111)
uj5u.com熱心網友回復:
在 SSIS 運算式中(如果您不想為此訪問 SQLServer),請洗掉以下日期:
DATEADD( "day", -DAY( GETDATE() ) ,GETDATE() )
或作為包含格式化日期的字串:
(DT_WSTR,4) YEAR(DATEADD( "day", -DAY( GETDATE() ) ,GETDATE())) "/"
RIGHT("0" (DT_WSTR,2) MONTH(DATEADD( "day", -DAY( GETDATE()) ,GETDATE()) ), 2) "/"
RIGHT("0" (DT_WSTR,2) DAY(DATEADD( "day", -DAY( GETDATE()) ,GETDATE()) ),2)
或者,依賴于 SSIS (ISO) 中的默認日期到字符轉換:
REPLACE(LEFT(( DT_WSTR,30) DATEADD( "day", -DAY( GETDATE() ) ,GETDATE() ) ,10), "-","/")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/470829.html