PythonでSQLクエリを実行したいと思います。私はpythonで接続データベースにcx_oracleを使用することができます。Pythonで日付変数をSQLクエリに設定する
# Build connection
conn_str = u'username/[email protected]:1521/sid'
conn = cx_Oracle.connect(conn_str)
は今、私はPythonでSQLクエリを使用して、データベースからデータを取得しようとしている:
sql_select_statement = """SELECT * FROM TABLE
WHERE DATE BETWEEN '20-oct-2017' AND '30-oct-2017'"""
たちは、開始を知らないと仮定しますdateにはstart_timeという日付変数のみがあり、その値はdatetime%m /%d /%Yです。それが動作し、新しいDFを生成するが、どのように変数starting_timeで'20 - オクト2017' を置き換えるために
sql_select_statement = """SELECT * FROM TABLE
WHERE DATE BETWEEN '20-oct-2017' AND sysdate-1"""
df = pd.read_sql(sql_select_statement, conn)
:としても、ending_timeは昨日ですが、私は私のSQLクエリを変更したいと思いますか?これはsqlクエリの中にあり、datetime形式なので、 'd%'%variableのような一般的なpythonメソッドは機能しません。この問題を解決するには?ありがとう!
何文字列の書式設定について"sta"と "sysdate-1" "" "format(st = starting_time)' – kstullich
emmm..itは 'ORA-00905:missing keyword'と書いてあります。変更する。わからない –
@kstullich ...書式設定された文字列の引用符を忘れてしまった。しかし、補間しないでください。パラメータ化を使用します。 – Parfait