Построитель выражений SSIS возвращает YY из года

Я использую SQL Server 2014 \ SSIS.

Используя построитель выражений в SSIS, как мне вернуть YY из года. Я встраиваю это в свойство ConnectionString места назначения плоского файла.

Итак, для 2019 года - возврат 19, 2020 года - возврата 20 и так далее.

Пока что я безрезультатно пробовал следующее:

(DT_WSTR, 2) DATEPART( "YY", GETDATE()) % 100

(DT_WSTR, 2) DATEPART( YY, GETDATE()) % 100

(DT_WSTR, 2) DATEPART( 'YY', GETDATE()) % 100

(DT_STR, 4, 1252) DATEPART("yy" , GETDATE())

(DT_STR, 4, 1252) DATEPART(yy , GETDATE())

(DT_STR, 4, 1252) DATEPART('yy' , GETDATE())

DATEPART("yy",GETDATE())

DATEPART(yy,GETDATE())

DATEPART('yy',GETDATE())

(DT_STR,2,1252)DATEPART( "yy" , getdate() )

(DT_STR,2,1252)DATEPART( yy, getdate() )

(DT_STR,2,1252)DATEPART('yy', getdate() )

Что мне не хватает?


person Michael    schedule 23.08.2019    source источник


Ответы (1)


Предположим, что вам нужна строка, а не целое число, тогда это сделает это:

RIGHT((DT_WSTR, 4) DATEPART( "YY", GETDATE()),2)

Вы должны быть очень конкретными в SSIS. Что-то вроде (DT_WSTR, 2) DATEPART( "YY", GETDATE()),2) приведет к ошибке из-за ошибки усечения (DATEPART вернет 4-значное целое число, которое не может поместиться в WSTR длины 2).

Следовательно, вы должны сначала ввести значение в строку длиной 4, а затем вправо 2 символа.

person Larnu    schedule 23.08.2019
comment
Это сработало - большое спасибо !! Будет отмечен как ответ через T-8 минут, когда это позволит мне - person Michael; 23.08.2019