■ SELECTサンプル
▲その1~重複しているデータを全件抽出
//STEP01 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN1 DD * 0000010000ABCDEFG 0000010000ABCDEFG 0000021000ZZZZZZZ 0000021000ZZZZZZZ 0000099999YYYYYYY //OUT1 DD SYSOUT=* //TOOLIN DD * SELECT FROM(IN1) TO(OUT1) - ON(1,10,ZD) - ←1~10バイトが抽出するKEY ALLDUPS
実行結果
※重複している全レコードを表示します。
********************************* TOP OF DATA ***** 0000010000ABCDEFG 0000010000ABCDEFG 0000021000ZZZZZZZ 0000021000ZZZZZZZ ********************************* BOTTOM OF DATA **
▲その2~重複しているデータを抽出
//STEP01 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN1 DD * 0000010000ABCDEFG 0000010000ABCDEFG 0000021000ZZZZZZZ 0000021000ZZZZZZZ 0000099999YYYYYYY //OUT1 DD SYSOUT=* //TOOLIN DD * SELECT FROM(IN1) TO(OUT1) - ON(1,10,ZD) - ←1~10バイトが抽出するKEY FIRSTDUP
実行結果
※重複しているレコードの最初の1件目を表示します。
********************************* TOP OF DATA ***** 0000010000ABCDEFG 0000021000ZZZZZZZ ********************************* BOTTOM OF DATA **
▲その3~重複していないデータを抽出
//STEP01 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN1 DD * 0000010000ABCDEFG 0000010000ABCDEFG 0000021000ZZZZZZZ 0000021000ZZZZZZZ 0000099999YYYYYYY //OUT1 DD SYSOUT=* //TOOLIN DD * SELECT FROM(IN1) TO(OUT1) - ON(1,10,ZD) - ←1~10バイトが抽出するKEY NODUPS
実行結果
********************************* TOP OF DATA ***** 0000099999YYYYYYY ********************************* BOTTOM OF DATA **
▲その4~重複していても1件目(または最終)のレコードを抽出
//STEP01 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN1 DD * 11111 NO1 11111 NO2 22222 NO3 33333 NO4 33333 NO5 //OUT1 DD SYSOUT=* //TOOLIN DD * SELECT FROM(IN1) TO(OUT1) - ON(1,5,CH) - ←1~5バイト目がKEY FIRST または LAST
実行結果
FIRSTを指定した場合の結果 ********************************* TOP OF DATA ***** 11111 NO1 22222 NO3 33333 NO4 ********************************* BOTTOM OF DATA **
FIRSTの代わりにLASTを指定した場合の結果 ********************************* TOP OF DATA ***** 11111 NO2 22222 NO3 33333 NO5 ********************************* BOTTOM OF DATA **
▲その5~特定件数(条件)のデータを抽出
//STEP01 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN1 DD * 0000010000ABCDEFG 0000010000ABCDEFG 0000021000ZZZZZZZ 0000021000ZZZZZZZ 0000099999ZZZZZZZ //OUT1 DD SYSOUT=* //TOOLIN DD * SELECT FROM(IN1) TO(OUT1) - ON(11,5,ZD) - ←11~15バイトが抽出するKEY HIGHTER(2) ←3件以上の重複があるレコードを抽出
実行結果
※HIGHTER(2)は、EQUAL(3)と同じです。
********************************* TOP OF DATA ***** 0000021000ZZZZZZZ 0000021000ZZZZZZZ 0000099999ZZZZZZZ ********************************* BOTTOM OF DATA **