oracle DB(バージョン11.2)の表に問合せを行い、datetime範囲の列に値を持つ行を取得するためにcx_Oracleを使用しようとしています。 hereに記載されるようにpython oracle where比較節より大きい日付を含む句
句間試みたが、カーソルは0行TO_DATE()関数と日付 '修飾子を試み
parameters = (startDateTime, endDateTime) query = "select * from employee where joining_date between :1 and :2" cur = con.cursor() cur.execute(query, parameters)
- を取得:
は、私は、次のアプローチを試みました。 Betweenまたは> =演算子の結果はまだありません。注目すべきは、<演算子が動作することです。私も同じクエリを取得し、SQLクライアントで試して、クエリは結果を返します。コード:間、なぜ> =演算子は私のために失敗している程度
#returns no rows: query = "select * from employee where joining_date >= TO_DATE('" + startDateTime.strftime("%Y-%m-%d") + "','yyyy-mm-dd')" cur = con.cursor() cur.execute(query) #tried following just to ensure that some query runs fine, it returns results: query = query.replace(">=", "<") cur.execute(query)
任意のポインタ? (私の第2のアプローチは、Oracle date comparison in where clauseで答えと一致していたが、それでも私のために動作しません)私のpython 3.4.3を使用しています
をし、WindowsでのOracleクライアント11gの7機でcx_Oracle 5.3と5.2を使用
見当もつかないの値を表示してくださいちょうど考え...私はyyyを日付形式の要素として見たことがない、そして、それが物事を混乱させるかどうかわからない。私はあなたが「yyyy」(4桁の年)またはおそらく「yy」を意味すると仮定します。それを修正し、それが役立つかどうかを確認してください。 – mathguy
はい、yyyはここの入力ミスです。私のコードはyyyyを修正しました – Sandip