sql-server - 无法使用 SSIS 中的表达式将字符串转换为 DateTime
问题描述
我在 SSIS 包中有 2 个变量作为字符串的 CurrFile 和 DateTime 数据类型的 File_Dt。我想从 CurrFile 中提取 DateTime 并将其存储到 File_Dt 变量中。为此,我使用如下表达式:
(DT_DBDATE) SUBSTRING( @[User::CurrFile], 21,14 )
执行 SUBSTRING 后,值为 20190725001614。现在,我想将此值作为 DateTime 存储在 File_Dt 变量中。这样做时我收到此错误。
尝试将数据类型 DT_WSTR 转换为数据类型 DT_DBDATE 时发生错误代码 0x80020005。
解决方案
您必须确保字符串包含具有以下格式的数据时间值:yyyy-MM-dd HH:mm:ss
. 也使用DT_DATE
orDT_DBTIMESTAMP
代替DT_DBDATE
尝试以下表达式:
(DT_DBTIMESTAMP) SUBSTRING( @[User::CurrFile], 21,4 ) + "-" +
SUBSTRING( @[User::CurrFile], 25,2 ) + "-" +
SUBSTRING( @[User::CurrFile], 27,2 ) + " " +
SUBSTRING( @[User::CurrFile], 29,2 ) + ":" +
SUBSTRING( @[User::CurrFile], 31,2 ) + ":" +
SUBSTRING( @[User::CurrFile], 33,2 )
推荐阅读
- sql - Build mini-league table of where everybody is at in the walks
- javascript - How to call Google Tag Manager from Blazor Server
- python - 如何使用 python 套接字连接两台计算机?
- azure - extract a list of all Azure Active Directory users through Powershell within Azure Function App save as csv and then send to ftp site
- react-native - How to increase the clickable area of a nested clickable Text
- angular - 在生成动态表单字段时删除行,始终删除最后一个索引
- python - Why does Python throw IndexError for array insertion problem?
- flutter - Statefull widget not changing data, how to fix that?
- python - Python - web crawling / different result from same code? / requests, bs4 / M1
- php - PHP 邮件功能 - 添加外部图像