プロが教える店舗&オフィスのセキュリティ対策術

DB2+eclipse2.1で開発しています。

テーブルのデータ削除に条件を付け加えたいのですが、
strSql = "DELETE FROM スキーマ名.テーブル名 WHERE substr(ABC,1,6) < " + "200404";
というように、SQL文を書くと、

------------------------------------
[IBM][CLI Driver][DB2/NT] SQL0440N 互換引き数を持つタイプ "FUNCTION" の名前 "SUBSTR" の許可ルーチンが見つかりませんでした。 SQLSTATE=42884
------------------------------------

上記エラーが出ます。
DB2でSUBSTRって使えると思うのですが。

ご存知の方いましたら、教えてください。
よろしくお願いします。

A 回答 (1件)

SUBSTRで使っているABCは、カラムでしょうか?質問中のステートメントを見る限りそうだと思われますが、もし文字列定数だったらシングルクォーテーションが必要ですね。



DB2がどうかはあまり使った事がないので自信がないのですが、大抵のRDBMSは構文解析中に遭遇した解析不可能な点につき、人間の観点からすると相応しくないのではというようなエラーを返すので、100%信用しない方がいいかもしれません。
    • good
    • 0
この回答へのお礼

すみません。解決しました。

ABCはカラムで書いたんですけど、CHAR型じゃなかったです…NUMERIC型でした…

当然SUBSTRは使えるみたいですが、NUMERIC型には適応できなくて当たり前ですね。

解答ありがとうございました。

お礼日時:2004/05/07 09:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!