2016-07-14 13 views
0

Я хочу выбрать данные согласно нижеуказанным критериям в Netezza. может кто-нибудь помочь мне написать sql.Netezza SQL function

Case 1: Unique ID has 2 "."s 
Deal ID = Parse from UNIQ_ID. Pos 1 to first "." 
E.g. 
Unique ID = 0000149844.FXFWD.COIBI_I 
Deal ID = 0000149844 

Case 2: Unique ID has 1 "."s 
Deal ID = Parse from UNIQ_ID. First "." to end 
E.g 
Unique ID = 25808.1234140AT`enter code here` 
Deal ID = 1234140AT 
+1

Это не сайт, чтобы просить людей, чтобы написать код для вас. Вместо этого попробуйте написать его самостоятельно, а затем попросите о помощи, когда вы застрянете. Обязательно включите код, который вы пробовали. – Dbz

+0

Я пробовал под кодом, но он работает только для case1. Я не могу получить код для обоих случаев в 1 sql select trim (подстрока ('0000157704.FXSPOT.COIBI_I', 1, (instr ('0000157704.FXSPOT.COIBI_I', '.') - 1))) ABC от двойного; –

ответ

0

Используйте функцию «Позиция» в Netezza для определения положения «», использовать этот выход в функции „SubStr“ для извлечения необходимых полей.

Для случая 1:

select substr('0000149844.FXFWD.COIBI_I',1,(position('.' in '0000149844.FXFWD.COIBI_I') - 1)); 

Для случая 2:

select substr('25808.1234140AT',(position('.' in '25808.1234140AT') + 1)); 
Смежные вопросы