2017-10-19 5 views
1

RからOracle DBへのクエリを実行しようとしていますが、文字列が二重引用符を使用しない"という問題があります。これは次のように動作しますRで二重引用符を含むRのSQLスクリプト "

select T.* from xyz.table1 T where T."ID"='123' 

:たとえば、私は、クエリを実行したいと思います

Error: unexpected symbol in sql<-"select T.* from xyz.table1 T where T." 

注:

sql<-"select T.* from xyz.table1 T where T."ID"='123'" 

Rは言って、エラーを返します。 :"IDを使用する必要があります。大文字と小文字を区別するようにしたいので、coluと一致しないようにしてくださいたとえば、id,Idのようになります。

+0

自分のフィールド名が 'ID'(' Id'または 'id'ではなく)それらが必要ていないとして、あなたが安全に二重引用符を削除することができている場合。 Oracleのすべての名前は、大文字で始まります。大文字と小文字を区別する名前を作成しないことを強くお勧めします。そうすることで問題を尋ねるだけで、あなたのコードは理解しにくい信じられないような混乱になります。運が良かった。 –

答えて

2

二重引用符をエスケープするには、バックスラッシュ\を使用する必要があります。

あなたが必要とするコマンドは次のとおりです。

sql <- "select T.* from xyz.table1 T where T.\"ID\"='123'" 
+0

まだ動作しません。それは問題が ""ではなく一般的に引用符で囲まれているようです。例: "xyz.table1からT. *を選択します。T:\" ID \ "= '123'"は機能しません。 "xyz.table1からT(*)を選択してください" Tは動作します – Iztok

+0

@Iztokあなたはその問題について少し具体的にする必要があります。私が提案した解決策は、あなたがあなたの質問で話すエラーを修正します。コード内に別のエラーがある場合は、質問を編集するか、新しい質問を投稿する必要があります。 –

+0

申し訳ありませんが、最初は引用符が問題だと思っていました。 エラー:データベースドライバーコード:HYC00 データベースサーバーコード:3 データベースドライバーこの資料は以下の製品について記述したものです。メッセージ:[Oracle] [ODBC] [Ora]オプション機能が実装されていません。 トピックを前もって知りません。解決策が見つかったらトピックを更新することを約束します!問題は何ですか? – Iztok

関連する問題