日期时间的 SSIS 源格式隐式转换

2023-12-29

有谁知道有一个图表可以显示 SSIS 中不同数据类型支持哪些日期格式?例如,是否DT_DBTimestamp支持格式1-Jan。我尝试寻找但找不到任何东西。

我问的原因是我发现当我尝试做一个Convert(datetime, '1-Jan')它失败了,正如我所料。但是,当我将相同的值拉入 SSIS 时DT_DBTimestamp,它会隐式地将其识别为1/1/2017而不是将行重定向为数据类型转换错误。


基本信息

这些是日期时间数据类型的默认格式(从字符串转换时)

DT_DBDATE
yyyy-mm-dd

DT_FILETIME
yyyy-mm-dd hh:mm:ss:fff

DT_DBTIME
hh:mm:ss

DT_DBTIME2
hh:mm:ss[.fffffff]

DT_DBTIMESTAMP
yyyy-mm-dd hh:mm:ss[.fff]

DT_DBTIMESTAMP2
yyyy-mm-dd hh:mm:ss[.fffffff]

DT_DBTIMESTAMPOFFSET
yyyy-mm-dd hh:mm:ss[.fffffff] [{+|-} hh:mm]

注意:DT_DATE和DT_DBTIMESTAMP具有相同的设置方法 https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.pipeline.pipelinebuffer.setdatetime.aspx

我认为将字符串转换为日期还取决于您当前的文化信息

更详细的信息可以在这里找到

  • 集成服务数据类型 https://learn.microsoft.com/en-us/sql/integration-services/data-flow/integration-services-data-types?view=sql-server-2017
  • SSIS 到 SQL Server 数据类型转换 https://devinknightsql.com/2010/12/22/ssis-to-sql-server-data-type-translations/

实验:

阅读您的评论后,我没有找到任何与您的问题相关的文章,所以我做了以下实验:

SSIS隐式日期时间转换

我使用 Dataflowtask 创建了一个 SSIS 包。在此数据流任务中,我创建了一个脚本组件(作为源)和一个平面文件目标。该脚本有一个输出列OutDate类型的DT_DbTimeStamp在脚本中我使用了以下代码:

Private dtDate As Date = #01/01/2016#

Public Overrides Sub CreateNewOutputRows()

    Output0Buffer.AddRow()


    Using sw As New IO.StreamWriter("D:\Result.txt", False)
        sw.WriteLine("CultureInfo;Date;Format;Accepted")
        sw.Close()
    End Using


    For Each ci As System.Globalization.CultureInfo In System.Globalization.CultureInfo.GetCultures(Globalization.CultureTypes.AllCultures)

        For Each strFormat As String In ci.DateTimeFormat.GetAllDateTimePatterns

            Dim boolResult As Boolean = True
            Try


                Output0Buffer.OutDate = dtDate.ToString(strFormat)

                boolResult = True

            Catch ex As Exception

                boolResult = False



            End Try

            Using sw As New IO.StreamWriter("D:\Result.txt", True)
                sw.WriteLine(ci.Name & ";" & dtDate.ToString(strFormat) & ";" & strFormat & ";" & boolResult.ToString)
                sw.Close()
            End Using

        Next



    Next



End Sub

首先,我循环遍历所有文化信息,并获取与其相关的所有日期时间格式并循环它们。然后我尝试转换日期dtDate声明为格式化字符串并将其分配给输出列。

因此,如果接受将指定格式的字符串值分配给 DT_DBTIMESTAMP 输出列,则意味着格式已隐式转换

Output0Buffer.OutDate = dtDate.ToString(strFormat)

这是结果文件的链接:

  • 结果.txt https://www.dropbox.com/s/0f1kmbzgh78fkxw/Result.txt?dl=0

SQL Server 日期时间隐式转换

有两种日期时间字符串格式可以在任何语言设置下正确解释。

yyyyMMdd
yyyy-MM-ddTHH:mm:ss    (ISO8601)

另外,您可以重复相同的实验,但这一次通过创建一个SqlCommand并执行它:

Dim sqlcmd as new SqlCommand("SELECT CONVERT(DATETIME,'" + dtdate.ToString(strFormat) + '")"

sqlCmd.ExecuteReader()

这样,如果 sqlcmd 抛出异常,则意味着格式无法转换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日期时间的 SSIS 源格式隐式转换 的相关文章

  • 从 SQL Server 2012 查询结果中减去小时数

    我正在 SQL Server 2012 Management Studio 中的警报系统信号自动化平台数据库上运行查询 但遇到了一些问题 我的查询运行得很好 但我无法将结果细化到我想要的水平 我正在选择一些格式为的列DATETIME 我只想
  • 如何使用 PHP 从 MSSQL 读取图像字段

    我正在创建一个网站 需要同步从离线 MSSQL 服务器读取的在线 MySQL 数据库 除图像字段外 所有通信和从 MSSQL 读取所有字段均工作正常 我已经使用 PHP 和 Mysql 一段时间了 知道如何向 MySQL 数据库插入 检索图
  • 从VBA中的数组批量插入到sql中

    我正在尝试在 Excel 中构建一个按钮 将所选区域上传到 SQL Server 中的表中 第一行将自动视为列标题 这件事该怎么继续下去呢 我想要的是简单和超快的上传 这是我的想法 我将选择选定的区域 然后将其保存为 txt 文件 然后对其
  • 标记个体内事件发生后发生的日期

    我有一组长格式的数据 每人几行 人 id 其中事件 事件 1 应该只发生一次 事件发生后 该人不应再有任何数据 如果事件发生后出现任何记录 我想使用名为 flag flag 1 的新变量创建一个查询 例如 下面标记了 id 5 因为在该人的
  • SQL Server 之间

    我有一个表 其中有年 月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 2012 01 50 2012 02 200 现在 我想要SELECT2011 年 11 月至
  • sql 查询的权限被拒绝

    我正在尝试通过经典的 asp 记录集执行以下查询 SQL Select P Name as P Name P Description as P Description from L PagePermission inner join A P
  • SQL Server 2012(代号:Denali)CTP 3的FIRST_VALUE和LAST_VALUE的实际用途是什么

    随着 Denali 的 CTP 3 版本的发布 我们有了更多的分析功能 其中我对其中两个感兴趣 a 第一个值 http msdn microsoft com en us library hh213018 28v SQL 110 29 asp
  • 如何在 AWS Glue 中指定联接类型?

    我正在使用 AWS Glue 连接两个表 默认情况下 它执行INNER JOIN 我想做一个LEFT OUTER JOIN 我参考了 AWS Glue 文档 但无法将联接类型传递给Join apply 方法 有没有办法在 AWS Glue
  • 删除原始数据中部分重复的记录

    我需要删除表中时间间隔为 1 或 2 分钟或相同且必须相同的所有记录ID但保留第一个记录 ID Time SN SD WE FW 10 2014 06 30 19 17 37 000 I 0 100 0 10 2014 06 30 19 1
  • Mysql为简单频繁查询创建排序索引性能

    我正在处理一个包含大约 400 万条消息条目的 mysql 表 并尝试根据时间戳选择最新的 50 条消息 另一个要求是返回的消息不以固定前缀开头 问题是单个查询大约占用 25 的 cpu 并且最多需要 1 5 秒 该查询经常由多个客户端执行
  • 为什么我们不能有多个主键?

    我知道表中不能有超过 1 个主键 但技术原因是什么 直接拉取自SO https stackoverflow com questions 217945 can i have multiple primary keys in a single
  • 为什么 sql 字段名称中不应该包含逗号?

    人们一直告诉我列名中不应包含空格 我只是想知道 这是为什么 这是我为学校创建的一些数据库表遇到的问题 字段名称包括 Preble 和 Darke 相反 它们需要是 普雷布尔县 俄亥俄州 和 达克县 俄亥俄州 如果它们是行名称 我只需创建一个
  • 如何找到在SQL Server中注册的程序集?

    我在 SQL Server 中注册了一个程序集 CREATE ASSEMBLY CLRFunctions AUTHORIZATION dbo FROM 0x4D5A90000300000 WITH PERMISSION SET SAFE 我
  • Oracle:如何查找模式中上次更新(任何表)的时间戳?

    有一个Oracle数据库模式 数据很小 但仍然有10 15个表左右 它包含一种配置 路由表 有一个应用程序必须不时轮询此架构 不得使用通知 如果架构中没有数据更新 应用程序应使用其当前的内存版本 如果任何表有任何更新 应用程序应将所有表重新
  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • 整理有关 QueryDSL-JPA 的提示

    有没有办法用 QueryDSL 来执行它 粗体部分 从地点选择 其中名称如 cafe 整理 Latin1 general CI AI 我将 JPA 与 hibernate 一起使用 您可以使用addFlag QueryFlag Positi
  • 显示过去 7 天 PHP 的结果

    我想做的是显示过去 30 天的文章 但我现有的代码不断给我一个 mysql fetch assoc 错误 然后追溯到我的查询 这是代码 sql mysql query SELECT FROM table WHERE DATE datetim
  • (SQL) 识别字段中字符串格式多次出现的位置

    我需要将叙述字段 自由文本 拆分为多行 目前的格式如下 Case Reference Narrative XXXX XX 123456 Endless Text up to 50k characters 在作为文本的叙述字段中 各个条目 当
  • 从数据库配置中的连接字符串中删除 SSIS 密码

    我有一个 SSIS 包 它使用 SQL 服务器中的 SSIS 配置表来检索 OLE DB 连接管理器的连接字符串属性 问题是我还需要相同的连接字符串来调用使用实体框架的程序集 我尝试访问连接管理器连接字符串属性 但 SSIS 总是删除密码
  • 如何打印Oracle中过程的定义?

    oracle中有没有办法查看过程的结构是什么 我正在尝试记录并运行程序 并希望将实际的程序结构存储在我的日志中 您可以查询ALL SOURCE table SELECT text FROM all source WHERE owner lt

随机推荐

  • 组合框中的默认文本

    我有 2 个组合框 如图所示 想知道是否可以为组合框设置某种文本字段 因此第一个框将说明成员 这样我想摆脱组合框上方的文本框 我知道这可以通过将 成员 添加到数据集中来完成 但我不想这样做 还有别的办法吗 BR 您正在寻找的效果称为 水印
  • 当手机空闲/打瞌睡/锁定时 Android 服务不工作

    晚上好 我已经尝试了好几天了 我真的不知道还能尝试什么 我基本上尝试了我在网上找到的所有东西 但它仍然不起作用 但我有一种感觉 一旦我找到了解决方案它一定是非常简单的事情 我正在开发一个更大的项目 但在这里我只是想得到一个非常简单的示例 我
  • Jetty 中的 ServletHandler 和 ServletContextHandler 有什么区别?

    我正在尝试开始使用嵌入式 Jetty 服务器 我只想根据请求路径将请求映射到不同的 servlet 创建一个有什么区别ServletHandler并向其中添加 servlet 而不是创建ServletContextHandler并向其中添加
  • 复制迁移的目的是什么?

    背景 如果可执行文件具有在共享对象中定义的外部数据引用 则编译器将使用复制重定位并将副本放置在其 bss 部分中 本网站详细介绍了复制迁移 http www shrubbery net solaris9ab SUNWdev LLM p22
  • 验证失败:上传文件的扩展名与其内容不匹配

    我正在使用回形针 gem 上传文件 我的回形针 gem 版本是回形针 4 1 1 上传文件时抛出 Validation failed Upload file has an extension that does not match its
  • 我是否需要为图片元素内的每个源重复类属性? (HTML5)

    我正在将图像转换为 webp 这意味着我需要使用 图片 标签而不是 img 因为图片允许为不支持 webp 的设备和浏览器回退到 png 格式 无论如何 我有一个如下所示的 img img class usp pics pic1 src i
  • 检查 Arduino 中的内存占用

    我正在使用 Arduino 开发一个简单的项目 最近 我必须将我的一个变量转换为 long 而不是 int 为了让事情简单 我只是移动了它与之交互的所有数字 所以我不必担心跨类型比较和数学 这看起来很浪费 但这只是我自己的一个时钟 我并不在
  • 没有虚拟继承的多重继承

    我试图理解多重继承 这是我的代码 struct A A static int n static int increment return n int A n 0 struct B public A struct C public A str
  • 在Spring控制器中,我可以根据请求参数的数量调用一个方法吗?

    我一直在用 Spring 改造现有的网络应用程序 显然 从 Spring 开始比稍后添加要容易得多 我们有可以接受多个请求参数的 servlet 根据参数的数量 将采取不同的操作 例如 doSomething prod 15 显示产品 15
  • 使用 Unicode 字符作为 zip 存档内的文件名

    我正在压缩的文件名包含一些特殊字符 例如P r quation LES HOPITAUX NEUFS xls到另一个文件夹 比如说temp 我可以压缩文件 但问题是文件名会自动更改为P r 方程 LES HOPITAUX NEUFS xls
  • 在 WSO2 中传递 CDATA

    WSO2 4 8 1 在 XML 消息中传递 CDATA 部分时存在一个众所周知的问题 此类部分始终会替换为其 XML 转义字符串形式的内容 任何解决此问题的方法将不胜感激 同时 我找到了一个页面 介绍了用于此目的的一些补丁 patch05
  • Linuxarm64如何在AArch32和AArch64之间切换

    Linux支持运行32位应用程序 只要 内核启用CONFIG COMPAT 硬件支持AArch32 我假设32位应用程序必须在arm AArch32执行状态下运行 并且如果环境有32位应用程序和64位应用程序 32位应用程序进程 gt ar
  • Spark-sql:无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient

    经过相当长的一段时间 无法弄清楚如何在运行 Spark sql 二进制文件时识别以下错误的根本原因 15 12 08 14 48 41 WARN NativeCodeLoader Unable to load native hadoop l
  • ASP.Net 相当于 PHP 的 Echo 是什么?

    我想 回显 由定界符分隔的字符串 例如 塞尔吉奥 塔皮亚 1999 上午10点 HTML 页面的正文 我怎样才能实现这个目标 谢谢你 Use Response Write string http msdn microsoft com en
  • AspectJ:一个方面内多个建议的执行顺序(优先级)

    类使用编译时编织 想象一下我有一个方面类 Aspect public class SecurityInterceptor Pointcut within org springframework stereotype Controller p
  • JQ 验证插件 - 表单外的错误标签( errorPlacement ),可能吗?

    我在用着JQuery 验证插件 http bassistance de jquery plugins jquery plugin validation 我想知道是否可以将错误放置在正在验证的 FORM 元素之外 我想将所有错误标签放置在 D
  • Global.asax 未加载预编译的 asp.net 网站

    我使用 Visual Studio 2008 发布我的 asp net 网站 当我在服务器 Windows 2008 服务器 上打开该网站时 我注意到 global asax 中的代码没有运行 我的 Global asax 主体类似于
  • WMI 和 Win32_DeviceChangeEvent - 返回了错误的事件类型?

    我正在尝试使用 WMI 注册 设备添加 设备删除 事件 当我说设备时 我指的是钥匙上的磁盘或任何其他带有我可以访问的文件的设备 我正在注册该事件 并且引发了该事件 但 EventType 属性与我期望看到的不同 文档 MSDN http m
  • 使用实体框架向模型添加方法

    使用实体框架 是否可以向对象类添加方法 例如 我有一个 CLIENT 映射 我想创建一个 getAgeFromBirhDate 方法 是的 这是可能的 实体框架生成部分课程 http msdn microsoft com en us lib
  • 日期时间的 SSIS 源格式隐式转换

    有谁知道有一个图表可以显示 SSIS 中不同数据类型支持哪些日期格式 例如 是否DT DBTimestamp支持格式1 Jan 我尝试寻找但找不到任何东西 我问的原因是我发现当我尝试做一个Convert datetime 1 Jan 它失败