★★★ IBM DB2・NetData KNOW HOW★★★
IBM UDB V5.0,V5.2,V6.1,V7.1,V8.1利用経験より
(但し内容を保証するものではありません。)
01.SELECT文で日付の比較
   date(データ項目名)>= (CURRENT DATE)
 
02.SELECT文でinteger項目の比較
   *正  recs = $(RECS)
   *誤  recs = '$(RECS)'
 
02-1.SELECT文でchar項目(文字)の比較
   *正  kubun = '3'
   *誤  kubun = "3"
 
03.SQL での最大処理数の設定方法
   %DEFINE{
   DTW_SET_TOTAL_ROWS="YES"
   RPT_MAX_ROWS="50"
   %}
   ===>最大50件で処理で処理終了
 
04.SQL のトレース(処理時のデータを確認したい時に使用)
   %DEFINE{
   SHOWSQL="YES" -----> 取らない時SHOWSQL="NO"
   %}
 
05.カナのソート(SELECT)の方法(単純にorder byにすると一部並びがおかしくなる。)
   
   ORDER BY HEX(SUBSTR(項目名,スタート位置,桁数))
   例 order by hex(substr(kaisha_kana,1,20))
 
06.逆順のSELECT

   ORDER BY XXXXX DESC
 
07.メールの処理(UDB6.1ではメールソフトの制限有り!!)
   @DTW_SENDMAIL−−−>SENDMAILでしか機能しない!!
 
08.CURRENT DATEはSQL文でのみ使用可能です。
   (1) where date(hdate) >= (CURRENT DATE)
   (2) select year(hdate),month(hdate),day(hdate) where date(hdate) >=
     (CURRENT DATE + (DECIMAL('300',8,0)) --->3ヶ月以上
   (3) テーブルでdate属性で定義している場合
     where cdate >= '$(XDATE)'<--input属性
 
09.入力エリアでの改行(X'0D')の対応方法
   SELECT文 replace(kdata,char(X'0D'),'<BR>') as kdata
 
10.文字変換の方法
   @DTW_TRANSLATE(kco,char(' '),char('!'),xkco)
   kcoの中の!の文字を空白(ブランク)にして結果をxkcoに入れる。
 
11.UDBのtotal length(Version 5.0,5.2)は4005bytes
   但しLongVarcharの長さは0で計算する。
 
12.Varchar()のmax lengtは4000bytesです。
 
13.UDBのコマンドセンターよりテーブルのデータをすべて削除する方法。
   connect to データベース名;
   delete from テーブル名;
   terminate;

   例:connect to hosdb;
     delete from jinji_tbl;
     terminate;
   注:テーブルの定義は削除されません。
14.UDBのコマンドセンターより”・・・・・”の中に改行キーが含まれている場合の対応方法。
   connect to データベース名;
   import from ファイル名 of del modified by delprioritychar messages
   メッセージファイル名 insert into テーブル名;
   terminate;

   ファイル名の例: a:\nyuuryoku.txt
            c:\msg0411.txt
15.UDBのコマンドセンターよりテーブルのデータ定義を入手する方法
   connect to hosdb;
   select tabname,colname,typename,length,nulls,keyseq from sycat.colums
   where tabname=テーブル名 order by colno;
   terminate;
16.UDBのコマンドセンターよりテーブルのデータをロードする方法。
   connect to hosdb;
   load from c:\ファイル名 of del insert into テーブル名;
   terminate;
17.UDBのコマンドセンターよりテーブルの定義を行う方法。
   connect to hosdb;
   create table テーブル名(
        :
        :
        : テーブル定義
        :
        :
   );
   commit work;
   connect reset;
18.UDBのコマンドセンターよりテーブルの定義及びデータを削除する方法。
   connect to hosdb;
   drop table テーブル名;
   terminate;
 
19.UDBのコマンドセンターよりテーブルの定義を表示する。
   connect to hosdb;
   list tables;
   terminate;
 
20.UDBのコマンドセンターよりテーブルにデータを挿入する。
   connect to hosdb;
   insert into テーブル名 values('xxx',1000,2000,3000)
   (syouhin_code,kansai,tokyo,hokuriku);
   terminate;
 
21.UDBのコマンドセンターよりテーブル内のデータを更新する。
   connect to hosdb;
   update テーブル名 set (カラム名)= (値) where (カラム名)= 値;
   terminate;

   例:connect to hosdb;
     update jinji_tbl set (emp_name)= ('北城 哲也')
     where (emp_no)= 31200;
     terminate;

   注:値・・・文字の時 '文字’、数値の時はそのまま
22.connectコマンドでユーザーID,パスワードを要求された時。
   connect to hosdb user ユーザーID using パスワード;
 
23.ある変数の7桁目がXの時に何か処理をしたい時。
   @DTW_SUBSTR(V_mapcode,"7","1",ff)

   %IF(ff == "x")

   %ELSE

   %ENDIF
 
24.現在の時間を入手する方法。(SQL文以外の時)
   @DTW_TIME(ffff) ------> ffff="10:15:36"
 
25.%IF での項目名の指定方法。
   %IF ($(V_xxxxx) == "123456")

   %ELSE

   %ENDIF
 
26."FORM type="POST" action="http://www.msri.co.jp/cgi-・・・改行
    ・・・・" " のように複数行に書いた場合
   ブラウザーがIEなら正常処理されます。

   ブラウザーがNNならエラーになります。
   *NNのメッセージ−−>Invalid HTTP Request
   環境:NT Server4.0,SP 6.0A,UDB DB2 V6.1,NetData V6.1  
27.CURRENT DATEを文字として扱いたい時
   CHAR(CURRENT DATE)
   
     
28.Windows ME & Netscape4.04で mailto:機能せず!!
   A HREF="mailto:$(e_mail)" メール /A

   Netscape6.01で正常稼動します。
   
29.ダイナミックSQLCALLの方法
   UDB V5
   %SQL($(METHOD)) ------>METHODの値によってCALL

   UDB V6 以降
   %IF(METHOD == "A")
   %SQL(A)------>直接にCALLする必要あり
   %ENDIF
   
30.%IFのネスト使用
   UDB V5
   %IF
     %IF           ------->文法エラーになります。
     %ENDIF
   %ENDIF

   UDB V6 以降
   %IF
     %IF           ------->文法エラーになりません!!
     %ENDIF
   %ENDIF
   
31.SQLのSELECT文を使い順次表示(次へ、戻る)をNetDataで可能にする方法
   RPT_MAX_ROWS関数 −−−−−−>最大表示件数
   START_ROW_NUM関数 −−−−−−>セレクトする開始ROW番号
   
32.X8.1にはNetDataが同梱されていないが、NetDataを利用する方法。
   X7.1のNetDataを利用すれば、利用できます。