アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。SQL文について質問です。
以下の文で、
'2009/04/01 0:0:0'~'2009/04/21 23:59:59'の間にあるデータのうち
最も時間の古いものを取りたいのですが、エラーが出てしまいました。
ひととおり、調べたのですが、基本的すぎて分かりませんでした。
御指摘いただけるとうれしいです。

SELECT sID,KANJINAME,KANANAME,WARDNAME,subject,MAX(D_time) FROM Q_Reg1Data
WHERE ((D_time >= CDate('2009/04/01 0:0:0')) AND (D_time <= CDate('2009/04/21 23:59:59')))
GROUP BY sID,KANJINAME,KANANAME,WARDNAME,subject

ADODB.Recordset エラー '800a0cc1'

A 回答 (2件)

データベースの相手は何ですか?Accessですか?Oracleですか?


ADOだからといって、相手のデータベースが解釈できない関数は使用できません。
⇒CDate関数を気にしています。

文面には相手のデータベースが書いてありませんので、以下は想像なので、失礼な点があるかもしれません。

CDate関数を使っているところからAccessかと思いますが、単にVBだからという勘違いはないでしょうか?

もし、相手のデータベースがOracleの場合は、
D_time>=TO_DATE('2009/04/01','YYYY/MM/DD') AND D_time<TO_DATE('2009/04/21','YYYY/MM/DD')

また、MySQLの場合は、
D_time>=DATE_FORMAT('2009/04/01','%Y/%m/%d') AND D_time<DATE_FORMAT('2009/04/21','%Y/%m/%d')

などと使い分ける必要があります。

ちなみに、
>最も時間の古いものを
MIN(D_time)では?
    • good
    • 0

http://www.ken3.org/asp/backno/asp073.html
のページ内をエラーコードで検索すると良さそう。
    • good
    • 0

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