SSIS 从文件名获取日期
SSIS Get Date from a File Name
我的文件名为...文件 - 20170101.xlsx
我有以下变量
FilePath,数据类型字符串,文件 - 20170101
作为派生列,我有
(DT_I8)LEFT(RIGHT(@[User::FilePath],8),4)
我可以使用它,但只给了我部分值..(只有 3 个数字,我需要 8 个)
输出 101.. 我需要将文件名保存为不同的日期格式吗?我试过文件 - 01012017
我已经试过了,但是没用
(DT_I4)LEFT(RIGHT(@[User::FilePath],8),4)
我正在尝试获取 20170101,然后我将添加一个数据转换以将其转换为日期
它不起作用..请有任何想法
尝试脚本任务
string fpath=""; //Set your filepath here
string fname = System.IO.Path.GetFileNameWithoutExtension(fpath);
DateTime dt = DateTime.Parse(fname.Substring(5, 2) + "/" + fname.Substring(7, 2) + "/" + fname.Substring(1, 4));
所以变量FilePath
的值是不是File - 20170101
,是File - 20170101.xlsx
对吧?
写问题时请注意。
你可以通过一些实验自己解决这些问题。
首先,
RIGHT(@[User::FilePath],8)
给你
101.xlsx
因此,
RIGHT(@[User::FilePath],13)
会给你
20170101.xlsx
和
LEFT(RIGHT(@[User::FilePath],13),8)
会给你
20170101
把它变成一个日期比较棘手。
这解释了如何做
How to convert string in format yyyyMMdd to date using SSIS expression?
我的文件名为...文件 - 20170101.xlsx
我有以下变量
FilePath,数据类型字符串,文件 - 20170101
作为派生列,我有
(DT_I8)LEFT(RIGHT(@[User::FilePath],8),4)
我可以使用它,但只给了我部分值..(只有 3 个数字,我需要 8 个)
输出 101.. 我需要将文件名保存为不同的日期格式吗?我试过文件 - 01012017
我已经试过了,但是没用
(DT_I4)LEFT(RIGHT(@[User::FilePath],8),4)
我正在尝试获取 20170101,然后我将添加一个数据转换以将其转换为日期
它不起作用..请有任何想法
尝试脚本任务
string fpath=""; //Set your filepath here
string fname = System.IO.Path.GetFileNameWithoutExtension(fpath);
DateTime dt = DateTime.Parse(fname.Substring(5, 2) + "/" + fname.Substring(7, 2) + "/" + fname.Substring(1, 4));
所以变量FilePath
的值是不是File - 20170101
,是File - 20170101.xlsx
对吧?
写问题时请注意。
你可以通过一些实验自己解决这些问题。
首先,
RIGHT(@[User::FilePath],8)
给你
101.xlsx
因此,
RIGHT(@[User::FilePath],13)
会给你
20170101.xlsx
和
LEFT(RIGHT(@[User::FilePath],13),8)
会给你
20170101
把它变成一个日期比较棘手。
这解释了如何做
How to convert string in format yyyyMMdd to date using SSIS expression?