Это для SSIS?Мой последний ответ предполагал, что это столбец SSAS из-за тега SSAS.Если это загрузка даты через SSIS, вы можете использовать компонент Script для этого вместо производного столбца.В приведенном ниже примере используется C #, и столбец CustomerZipCode необходимо добавить на панель «Столбцы ввода» с типом использования ReadWrite
.Метод TryParse
проверяет, является ли столбец числовым, и возвращает false, если столбец содержит какой-либо текст.Конструктор String используется для создания строки zeroesToAppend
, для которой установлено число нулей ниже 5, равное длине столбца, и после этого оно добавляется в начало столбца.Это будет сделано в методе Input0_ProcessInputRow
, который выполняется один раз для каждой строки из ввода.
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
int i;
if (int.TryParse(Row.CustomerZipCode, out i) && Row.CustomerZipCode.Length < 5)
{
string zeroesToAppend = new String('0', 5 - Row.CustomerZipCode.Length);
Row.name = String.Concat(zeroesToAppend, Row.CustomerZipCode);
}
}