我正在将 .CSV 文件导入 SQL 服务器。数据文件有帐号和金额。我想使用以下公式将日期字段添加到 SQL 的插入(上个月的第一天):
SELECT convert(varchar, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0), 101)
我在哪里/如何做到这一点?我尝试了派生列,但它不喜欢表达式字段中的公式。
谢谢!
我正在将 .CSV 文件导入 SQL 服务器。数据文件有帐号和金额。我想使用以下公式将日期字段添加到 SQL 的插入(上个月的第一天):
SELECT convert(varchar, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0), 101)
我在哪里/如何做到这一点?我尝试了派生列,但它不喜欢表达式字段中的公式。
谢谢!
尝试将此表达式添加到您的派生列。应该得到你想要的:
(DT_DBDATE)DATEADD("day",-(DATEPART("day",DATEADD("Month",-1,GETDATE()))) + 1,DATEADD("Month",-1,GETDATE()))
派生列表达式:
(DT_DBDATE)DATEADD("MONTH",-1,((DT_DATE)((DT_STR,2,1252)MONTH(aDate) + "/01/" + (DT_STR,4,1252)YEAR(aDate))))
您必须确保如果您当前的日期是 1 月份的某一天,则上个月将落在上一年。例子:
Current Date First of previous month
02-15-2013 01-01-2013
12-15-2013 11-01-2013
01-15-2013 12-01-2012 (notice the year)