I为yyyymdd
和yyyymmdd
格式的日期列。我想把yyyymdd转换成yyyymmdd。
2022520
和20220520
。如何使用SSIS将202250转换为20220520 ?I tired the following
- 使用len计算字符数
- 然后使用if条件在"2022520"中5前面加0。
[Character count]==7 ? "0"+ Substring([Extract Date],5,2) : [Extract Date]
- 表达式
052
最好以正确的格式将日期保存在合适的日期列中
其他一切都是昂贵的
CREATE TABLE test
([ExtractDate] varchar(8))
;
INSERT INTO test
([ExtractDate])
VALUES
('2022205'),
('20221231'),
('2021115')
;
3 rows affected
SELECT LEFT([ExtractDate],4) +
RIGHT('00' + LEFT(
SUBSTRING([ExtractDate], 5, LEN([ExtractDate]))
,LEN(SUBSTRING([ExtractDate], 5, LEN([ExtractDate]))) -2),2)
+ RIGHT([ExtractDate],2)
FROM test
(无列名)20220205 2022123120210115
你可以使用这个表达式:
Left([Extract Date], 4) + Right('00' + Right([Extract Date], Len([Extract Date]) - 4), 4)
的例子:
2022520 20220520
20221231 20221231
20220520 20220520