こんにちは、ねこです。

自称プログラマのおばちゃんのブログです。いろいろあるよねぇ~。

SQL DB2 AS400 こんな風にBetween使います。

2014-03-17 14:57:09 | 便利なSQL
あぁ、忙しい。。

なかなかノートが取れません。すみません。

で、短し、行きます。

たとえば、検索エンジンを構築するとします。
もちろん、XDPやデータ全部送ってローカルに処理させるなんてこと、しませんねぇ。
だって検索結果のデータが山ほどあったらどうしますか?!

ってなわけで、表示最初のレコード番号と最後のレコード番号を静的にSQLでとって、そのパラメータをおくることで、細切れにデータ送信させます。同じ検索クエリーなので、結果は常時変わるものを除いて、同じレコード番号となります。
最初は1番から20番までを表示、「次へ」のリンクで21番から30番ってなかんじで、パラメータをおくり、SQLで処理させたものをうけとれば、めっちゃでかいデータをやり取りせずにいけます。特にWSDLなんかでOKですね。

で、こんな感じのSQL

select row_number() over(order by num), t.num, A, B, C from (
select row_number() over(order by A) as num, A, B, C from testfile where C > '0001-01-01' and B = 'OWT' and UPPER(A) like UPPER('Adams%')
) as t
where t.num between 3 and 5 order by num

さぁ、かえろー!