- - PR -
adChar型をChar型に・・・
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-02-05 15:35
現在C#でアプリケーションを開発しているのですが、
DB2から複数のデータを取得し、それらをSQL文で結合する部分でつまづいています。 DB2から取得するデータはadChar型で、NULLまたは英数字7桁の文字列です。 @データがNULL文字か否かチェック ANULL文字の場合、""(空)に置き換え Bデータの結合 の順で実行したいのですが、 そもそも文字列型であるadCharをChar型に変換できるのかが疑問です。 SQL文を "SELECT ISNULL(CAST("+ dataA +" AS char ), '') + ISNULL(CAST("+ dataB +" AS char ), '' ) AS " + dataC + " from" + DataBase と記述したのですが、構文エラーのメッセージが出てCASTをすることができません。 ちなみに、dataA,dataB,dataCはこのSQL文を使用するプロシージャの引数で、 dataAとdataBを結合したものをdataCとして扱いたいのです。 初歩的な質問で申し訳ありませんが、 解決法をご存知の方がいらっしゃいましたら宜しくお願いします。 |
|
投稿日時: 2005-02-08 12:48
ISNULLとかCASTはDB2の関数ではないので構文エラーになっていると思います。 ISNULLの変わりにCOALESCEを使ってみてください。 キャストはたぶん必要無いと思います。 #C#が分かっていないので外しているかもしれませんが。 ・COALESCEに関する詳細はこちら http://www.db2.jp/db2manual/ja_JP/admin/r0011043.htm ・DB2のマニュアル検索についてはこちら http://www.db2.jp/siryo/db2online/ |
|
投稿日時: 2005-02-08 19:31
ishiさん、ありがとうございます。
さっそくCOALESCEを試してみようと思います。 現在作成しているアプリケーションは、DB2からデータを取得し、 取得したデータを加工してSQL Serverに保存する仕様になっているのですが、 開発環境にはDB2がないため、現場でしかテストを行うことができない状況です。 開発の際にはSQL Server内に2つのデータベースを作成し、ODBCドライバを利用して 片方のデータベースから取得したデータをもう片方のデータベースに保存するという テスト方法しか取れないため、現場に行ってテストしてみて初めてDB2とSQL Serverの違いを 認識するという悪循環に陥っています。 しかもアプリケーションはすでに稼動しているため、短時間しかシステムを止めて テストすることができません。 そもそもそのようなアプリケーションを開発するとわかっていながら 開発環境にDB2がないというのが大問題なのですが・・・。 重ねて、情報ありがとうございました!! |
1