Sql server 2008 在派生列中导入字符串日期
我有一个字符串日期正在从以下格式的文件中读取,并给我cast错误Sql server 2008 在派生列中导入字符串日期,sql-server-2008,ssis,Sql Server 2008,Ssis,我有一个字符串日期正在从以下格式的文件中读取,并给我cast错误 Oct 25 2011 10:18:10:756PM 我使用派生列将字符串强制转换为日期 我在表达式中尝试了以下内容,但没有成功 (DT_DBTIMESTAMP)myDate CAST(myDate as datetime) CONVERT(datetime, myDate) //I get parse error on this. 必须有一个简单的方法来铸造这个。提前感谢。详细的回答,但对于“SSI无法识别问题中提供的日期
Oct 25 2011 10:18:10:756PM
我使用派生列将字符串强制转换为日期
我在表达式中尝试了以下内容,但没有成功
(DT_DBTIMESTAMP)myDate
CAST(myDate as datetime)
CONVERT(datetime, myDate) //I get parse error on this.
必须有一个简单的方法来铸造这个。提前感谢。详细的回答,但对于“SSI无法识别问题中提供的日期格式”这一问题,我不敢苟同 如果它被重述为“SSIS无法在没有帮助的情况下识别所提供的日期格式”,那么在本例中的根本问题是,默认情况下,日期和数字解析例程是无效的。总的来说,这是件好事,除非不是。我第一次偶然发现这一点是在我处理来自大型机的ccyymmdd格式的日期时。正如其他人指出的,它将在tsql中解析,为什么不在SSIS中解析呢?有很多文章主张对字符串数据进行切片和切分,以使其成为有效的日期时间,但为什么要经历所有这些麻烦呢 将其作为示例输入数据(以制表符分隔) 还有一个像这样的包裹 通过更改上的一个设置,我可以使包失败或不失败 右键单击平面文件源并选择“显示高级编辑器”。在“输入和输出属性”选项卡上,展开输出列并找到包含日期的列。将设置从False更改为True 当我运行它时,包最初失败了,因为它正在丢失将该值存储到
DB\u时间戳中的精度。当我将列设置为typeDB\u TIMESTAMP2
演示包可在上找到这可能是本地化问题?因为这在SSMS中对我有效:选择convert(日期时间,'2011年10月25日10:18:10:756PM')Derek,你能解释一下本地化的含义吗。我也可以执行sql语句,但由于某些原因,它与派生列的表达式不一样。谢谢
LongDateDesiresFastParse Gibberish
Oct 25 2011 10:18:10:756PM Hello world
Oct 24 2010 10:18:10:756PM Hello 2010 world
Oct 23 2009 10:18:10:756PM Hello 2009 world
Oct 22 2008 10:18:10:756PM Hello 2008 world