【问题标题】:Converting to DateTime from Text Value从文本值转换为日期时间
【发布时间】:2021-10-09 02:31:06
【问题描述】:

我有一堆从供应商那里收到的摘录。我构建了 SSIS 包以将数据加载到我的服务器,当一切都将它作为 nvarchar 加载到临时表中时,我将转换需要使用 T-SQL 转换的值,然后再将它们合并到最终表中。

我无法将存储为文本的日期/时间值转换为真正的日期时间。

我只是在使用一个 select 语句,试图确定此时进行转换的最佳方法,一旦我完成了该工作,我就可以将它全部放回我的 SSIS 包中。

Examples of Data:

7/1/2021   1224,
7/1/2021   1328,
7/1/2021   1438,
7/1/2021   1447,

我希望能够使它看起来像这样:
yyyy-mm-dd hh:mm:ss

我已经在其他演员表和格式以及转换选项中尝试过这个,但底线是我得到相同错误的所有内容:

convert(datetime, convert(varchar(30), Discharge_Date_Time), 108)

从字符串转换日期和/或时间时转换失败。

有什么想法吗??我整天都被困在这个问题上,我必须为我从这个供应商那里带来的更多专栏做这件事。

【问题讨论】:

    标签: datetime ssis casting type-conversion formatdatetime


    【解决方案1】:

    你可以这样做

    let date = new Date('7/1/2021');
    

    【讨论】:

      【解决方案2】:

      CAST(STUFF([your date column], 12, 0, ':') AS datetime)

      【讨论】:

      • 不幸的是,我仍然遇到同样的错误。
      • CAST(STUFF(REPLACE([Discharge_Date_Time], ' ', ' '), 12, 1, ':') AS DATETIME) 因为中间有 2 个空格
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-23
      • 2013-02-21
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多