- PR -

SQLの抽出条件について

投稿者投稿内容
マー帽
常連さん
会議室デビュー日: 2006/01/31
投稿数: 21
投稿日時: 2006-07-20 23:10
引用:

JTさんの書き込み (2006-07-20 22:59) より:
上記の方法で処理をしてみました。
sqldata = "SELECT 登録日時 FROM AXIS.DK_TBL_ウェハ使用履歴 WHERE ウェハロットNo = '" & Me.ComboWaferLot.Text & "' " & _
"AND 登録日時 >= DATEADD(day, - ((DATEPART(weekday, GETDATE()) + 5) % 7), CONVERT(varchar, GETDATE(), 111)) " & _
"AND 登録日時 < DATEADD(day, 7 - ((DATEPART(weekday, GETDATE()) + 5) % 7), CONVERT(varchar, GETDATE(), 111))"

SQL実行時にエラーが出てしまいました。
ORA-00911:文字が無効です。

すみません、まだまだ未熟なものですがご指摘をお願いします。


このエラーが表示されるという事は、DBMSはORACLEですよね?
platiniさんの書き込みではなく、私の書き込みを参考になさった時点で
SQL Serverだと思い込んでいました。失礼しました。

それでしたらplatiniさんの案が簡単ではないでしょうか?
platini
大ベテラン
会議室デビュー日: 2002/12/03
投稿数: 193
投稿日時: 2006-07-20 23:14
引用:

SQL実行時にエラーが出てしまいました。
ORA-00911:文字が無効です。




あの〜 データベース(SQL)の質問をするときは、DBMSが
何か明記しないといけないと私が書いているのを無視されたのですか。

このエラーで初めてOracleとわかったわけで。

日付関係の関数は、DBMSによって結構方言があります。
SQLはかなりDBMSに依存しないほうだと思っていますが、
日付関係とNULL関係の処理は、悲しいかな DBMS依存性が
強いです。

DATEADDがOracleにあるかどうかくらい調べてから試せ。

こんな強い口調で書くのは、
厳しい状況でして という割に
何も調べず やっているようにしか見えないからです。 

引用:

SELECT
ROUND(NEXT_DAY(sysdate,'日曜日'),'DAY')-6 as 今週月曜日 ,
ROUND(NEXT_DAY(sysdate,'日曜日'),'DAY') as 次週日曜日 FROM DUAL



ただ、これはsysdateが日曜日だったら、誤動作するかも。
日曜日以外は大丈夫だと思いますが、
今手元にOracleがないので試せず。

単なるサンプルとしてSELECT文で書いてあるのであって、
実際はWHERE条件にしてくださいね。


[ メッセージ編集済み 編集者: platini 編集日時 2006-07-20 23:19 ]
JT
常連さん
会議室デビュー日: 2005/10/20
投稿数: 27
投稿日時: 2006-07-20 23:21
無視とかそういうつもりではないんです。。
すみませんでした。

ここからは自分で調べてなんとか解決しようと思います。
出直してきます。

皆様有り難うございました。

スキルアップ/キャリアアップ(JOB@IT)