sql - 在 SSIS 中将字符串转换为 DateTime

标签 sql sql-server sql-server-2008 ssis

来自源的数据具有字符串数据类型并且有时具有无效日期,空列('')我想检查它是否是有效日期并将字符串转换为日期时间。我如何在 SSIS 中执行此操作?

我的字符串值已经格式化为 mm/dd/yyyy。

最佳答案

这是一个可以在派生列转换中使用的表达式,它将日期转换为 DT_DBTIMESTAMP 数据类型。或者,如果值为 null 或空白,它会将值设置为 null(使用 DT_DBTIMESTAMP 数据类型)。 DT_DBTIMESTAMP 数据类型匹配 SQL Server DATETIME 数据类型。

ISNULL(MyDate) || TRIM(MyDate) == "" ? NULL(DT_DBDATE) : (DT_DBDATE)MyDate

如果输入值不是有效日期,您可以将错误输出路径映射到另一个派生列转换,该转换将空值分配给该列。

关于sql - 在 SSIS 中将字符串转换为 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3547802/

相关文章:

sql-server - SQL查询的执行顺序

SQL - 获得最大结果

sql - 在 Sql 服务器表变得丑陋之前,我可以在其中存储多少条记录?

xml - SQL 2008 XML 存储

php - 数据库 |分面搜索

java - 有什么方法可以在 HQL 中执行此查询吗?

python - SQL 将如何注入(inject)这个?

php - Mysql 查询返回错误行

sql-server - 如何从 SQL Server 2005 数据库中删除脱机文件

sql - 外键引用同表中的主键