日期和月份仅交换SSIS中的单个数字

时间:2017-03-29 02:20:02

标签: sql-server ssis ssis-2008

我写了一个SSIS集成,它提取员工及其到期日期。所有数据都正确流动;但是,如果在到期日期间存在单个数字的日期和月份,则目标列交换月和日(当日期具有双倍单位的数月或日数时)。

示例:

      07/08/2016   to  2016-07-08     WRONG

      15/03/2016   to  2016-03-15     CORRECT

1 个答案:

答案 0 :(得分:0)

因为您的日期是dd / MM / yyyy并且您正在尝试将其转换为日期时间,所以会出现问题。 我认为这更安全,

declare @jk varchar(20)='07/08/2016'

select right(@jk,4)+'-'+substring(@jk,charindex('/',@jk)+1,2)+'-'+substring(@jk,1,2)