2011-09-12 7 views
0

私は次のようになりますアンドロイドコード内のSQLクエリ文字列を作成しています:選択文字 '(シングルクオート)

私は "を取得したい場合、私はちょうど '文字列内書くことを知っている
SELECT strftime('%m', DATE) "MONTH", strftime('%Y', DATE) "YEAR" FROM EXPENSES group by month, year ORDER BY MONTH DESC, YEAR DESC 

、 しかし、その単一の文字'を取得したいのですが?

誰でもこのクエリを引用符で囲むことができますので、うまく動作しますか?

答えて

3

あなたの質問は、あなたがエスケープする必要があるものについて、少し混乱しているようです。これはそれをカバーする必要があります:

  • SQLで単一引用符をエスケープするには、それを倍にします。

    'an escaped single quote '' like that' 
    
  • Javaでは、外側を二重引用符で囲みます。

    "a single quote ' like that" 
    
  • ように先頭のスラッシュ\を使用し、Javaで二重引用符をエスケープする:

    "SELECT strftime('%m', DATE) \"MONTH\", strftime('%Y', DATE) \"YEAR\" FROM EXPENSES group by month, year ORDER BY MONTH DESC, YEAR DESC" 
    
+0

をありがとう、私が探していたまさにthatsの。 Hovewer私は、Javaで '012になったと思った –

+0

とSQLの注入:) – Woot4Moo