【发布时间】:2018-08-03 09:12:22
【问题描述】:
我有一个从平面文件接收日期字段的包。有没有快速将此日期转换为同月最后一天的方法?
例如 输入:01.08.2019 输出:2019 年 8 月 31 日
提前非常感谢
【问题讨论】:
我有一个从平面文件接收日期字段的包。有没有快速将此日期转换为同月最后一天的方法?
例如 输入:01.08.2019 输出:2019 年 8 月 31 日
提前非常感谢
【问题讨论】:
我经常使用这个:
用@d 替换您的日期列。
dateadd("d",-1, --Gets last day of current month
dateadd("mm",1, --Gets 1st day of next month
(DT_DATE)(month(@d) + "/1/" + year(@d)) -- Gets first day of current month
))
【讨论】:
一种方法是通过Lookup。
包 -
所以,基本上你读取文件然后将它们传递给Lookup,这将为它们中的每一个运行并在数据库中查询以找出输入日期的月份的最后一天。
您需要为数据库查询设置OLEDB 连接,下面的SQL 查询将为您完成这项工作 -
DECLARE @date VARCHAR(10) = ?
SET @date = REPLACE(@date,'.','/');
SET @date = CONVERT(CHAR(10),CONVERT(DATETIME,LEFT(@date,10),105),101);
SET @date = EOMONTH(@date);
SET @date = SUBSTRING(@date, 9, 2) + '/' + SUBSTRING(@date, 6, 2) + '/' + SUBSTRING(@date, 1, 4);
SELECT REPLACE(@date,'/','.') AS Result;
【讨论】: