Извлечь символ из одного столбца и заполнить их в 2 разных столбцах.

У меня есть столбец ProductDetails, который имеет такие значения, как

j Jameson Mbc 6.5, abc 8 abc blah
Napa california Mbc 1 abc 3.5
Washington k Mbc 2.5 abc 6
New york city is awesome

У меня тысячи записей

Я хочу заполнить еще 2 столбца Mbc и abc, как показано ниже.

Mbc
6.5
1
2.5

abc
8
3.5
6

Я попробовал (DT_STR,10,1252)substring(ProductDetails, findstring("Mbc", ProductDetails,1)+4,3)

Для (DT_STR,10,1252)substring(ProductDetails, findstring("abc", ProductDetails,1)+4,3) abc = (DT_STR,10,1252)substring(ProductDetails, findstring("abc", ProductDetails,1)+4,3)

Я получаю результат, а некоторые значения идут как 1C или 2b т.д., Просто хотят, чтобы числа не были символами

Для значения столбца, такого как New york city is awesome мы просто хотим заполнить его Null т.д.

благодаря

1 ответ

столбец "abc"

FINDSTRING( [ProductDetails],"abc", 1 ) > 0 ? SUBSTRING(SUBSTRING([ProductDetails], FINDSTRING( [ProductDetails],"abc", 1 ) + 4 , 3),1,LEN( SUBSTRING([ProductDetails], FINDSTRING( [ProductDetails],"abc", 1 ) + 4 , 3) ) - FINDSTRING( SUBSTRING([ProductDetails], FINDSTRING( [ProductDetails],"abc", 1 ) + 4 , 3) ," ",1)) : NULL(DT_WSTR,50)

Столбец "Mbc"

FINDSTRING( [ProductDetails],"Mbc", 1 ) > 0 ? SUBSTRING(SUBSTRING([ProductDetails], FINDSTRING( [ProductDetails],"Mbc", 1 ) + 4 , 3),1,LEN( SUBSTRING([ProductDetails], FINDSTRING( [ProductDetails],"Mbc", 1 ) + 4 , 3) ) - FINDSTRING( SUBSTRING([ProductDetails], FINDSTRING( [ProductDetails],"Mbc", 1 ) + 4 , 3) ," ",1)) : NULL(DT_WSTR,50)

licensed under cc by-sa 3.0 with attribution.