2017-10-26 13 views
0

SQLデータベースからsqlQuery関数を使用してテーブルを読み取ろうとしています。具体的には、入力として日付を持つ関数を指定し、指定した日付に一致するSQLデータベースからデータを選択したいとします。 SQLテーブルの日付の形式はYYYY-MM-DDであり、特定の日付は、sqlquery関数に書き込まれている場合、上記のコマンドが正常に動作することを日付に基づいてSQLデータベースからテーブルを読み取る

example=function(dateA) 
{sqlQuery(channel,paste("select * from TABLE","where date=dateA"))} 

example('2017-10-26') 

注:コマンドは次のようにしています。コマンド使用しているとき、すなわち:それにもかかわらず、

sqlQuery(channel,paste("select * from TABLE","where date='2017-10-26'")) 

を入力として日付で関数を呼び出すとき、これは動作しません。 誰かがこれを克服する方法があるかどうかを知っていますか? dateAdateA値を置き換えるのではなく、文字列の一部として扱われるためです

答えて

1

、代わりに試してみてください。ここでは

example=function(dateA){ 
    sqlQuery(channel,paste0("select * from TABLE","where date=", dateA)) 
} 

example('2017-10-26') 

dateA'2017-10-26'あなたがexampleを呼び出すに置き換え、そしてpaste0ペーストされます"select * from TABLE","where date="および'2017-10-26'(値dateA)が一緒になって形成される。"select * from TABLE","where date='2017-10-26'"

関連する問題