1
2
3
*
4
5
6
*
7
8
9

how to load records between two stars(*),

Answers were Sorted based on User's Feedback



1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / sunny

select substr(
(select substr('123*456*789', 1 ,
instr('123*456*789','*',1,2)-1) from dual)
,instr(
(select substr('123*456*789', 1 ,
instr('123*456*789','*',1,2)-1) from dual)
,'*',1)+1) from dual;

Is This Answer Correct ?    6 Yes 1 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / ankur

small change in the above post..
add an exp after source qualifier...with two more ports

v_out as variable =iif((is_number(inputport),v_out,v_out+1)
output=v_out

so output from this exp will be
1 0
2 0
3 0
* 1
4 1
5 1
6 1
* 2
7 2
8 2
8 2

now add a filter where output=1 and in_number(input)

Thanks

Is This Answer Correct ?    4 Yes 3 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / krishna

Mapping
source - SQ -> Exp T/r -> Filter -> target

Exp t/r:
create 4 variable and 3 output ports.
v_curr,v_flag,o_filter,o_flag,v_count,v_prev,0_count

v_flag = iif(v_currnt = '*' OR v_prev = '*' or flag_v=1,
1,0)
v_count = iif(v_prev='*',count+1,count)
o_filter = iif(No!= '*',1,0)
o_flag = v_flag
0_count = v_count

filter t/r:
condition: o_flag=1 AND o_filter=1 AND 0_count!=2

Is This Answer Correct ?    1 Yes 1 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / lakshmi

Use Replacechr() in Expression T/r after Source Qualifier
and replace '*' with Space

Then In Filter T/r Use Filter condition as below
iif(isspaces(field,0,1))

Is This Answer Correct ?    2 Yes 2 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / siva riddle

first of all , understand the requirement
it's.
records in between * 456 * ,
how to get this 3 records.

Is This Answer Correct ?    0 Yes 0 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / guest

u can use mapping variable in exp transformation.
and do
decode(v_curr='*' or v_prev='*',setvariable($$,$$+1),$$)
and last port in exp setvariable($$,0) and accrdingly filter the non required...

Is This Answer Correct ?    1 Yes 2 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / ankur

small change in the above post..
add an exp after source qualifier...with two more ports

v_out as variable =iif((is_number(inputport),v_out,v_out+1)
output=v_out

so output from this exp will be
1 0
2 0
3 0
* 1
4 1
5 1
6 1
* 2
7 2
8 2
8 2

now add a filter where output=1

Thanks

Is This Answer Correct ?    2 Yes 3 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / ankur saini

hey guys c if this works...

add an exp after source qualifier...with two more ports

v_out as variable =iif((is_number(inputport),0,v_out+1)
output=v_out

so output from this exp will be
1 0
2 0
3 0
* 1
....
* 2
...

now add a filter where output>0

Thanks

Is This Answer Correct ?    0 Yes 4 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / anas furquan

Use Filter transformation with below condition:
IIF(FIELD!='*',1,0)

Mapping:
Source-->SQ-->Filter-->Target

This works. :)

Is This Answer Correct ?    1 Yes 8 No

1 2 3 * 4 5 6 * 7 8 9 how to load records between two stars(*),..

Answer / chandu

By using filter transformation we can achieve this scenario.


Filter condition :column>=4 and column name<=6

Is This Answer Correct ?    4 Yes 14 No

Post New Answer

More Informatica Interview Questions

Design a mapping to load the cumulative sum of salaries of employees into target table?

0 Answers   Informatica,


Consider a Phone Log table as below. It records all phone numbers that we dial in a given day. SOURCE_PHONE_NUMBER DESTINATION_PHONE_NUMBER CALL_START_DATETIME 1234 4567 01/07/2011 10:00 1234 2345 01/07/2011 11:00 1234 3456 01/07/2011 12:00 1234 3456 01/07/2011 13:00 1234 4567 01/07/2011 15:00 1222 7890 01/07/2011 10:00 1222 7680 01/07/2011 12:00 1222 2345 01/07/2011 13:00 Please provide an SQL query to display the source_phone_number and a flag where the flag needs to be set to Y if first called number and last called number are the same and N if the first called number and last called number are different. Desired Output: Source Number Is_Match 1222 N 1234 Y

2 Answers   Amazon,


Why we require dwh in particular projects?

1 Answers   Amdocs,


When will you use SQL override in a lookup transformation?

1 Answers  


What are the different caches used in informatica?

3 Answers   UST,






which quality process u can approach in ur project

1 Answers   CTS,


WHAT IS UPDATE OVERRIDE . DIFFERENCE BETWEEN SQL OVERRIDE AND UPDATE OVERRIDE ?

7 Answers   Target,


following table source name gender a1 male a2 female how to change 'male' to 'female' and 'female' to 'male'

2 Answers  


what is the process of target load planing?

2 Answers   IBM,


How do you take back up of repository?

0 Answers  


How to load dimension and fact in same mapping at same time.explain me the logic used for that scenario.

1 Answers   IBM,


what is difference between mapping and mapplet ?

2 Answers   TCS,


Categories