2017-08-14 4 views
0
の内部のSQLステートメントで
ResultSet rs = stmt.executeQuery= (" 
SELECT COLUMN1 as STRING WITH SPACE ex EMPLOYEE NAME 
FROM TABLE1 
WHERE CONDITION1 = CONDITION 
"); 

の間にスペースを持つ別名を使用するが、この場合には、私は単語間のスペースで別名を必要としています。 SQL文全体が文字列に含まれている場合、どうすればよいですか?ノースペースでエイリアスを使用した場合、それがうまくいくECLIPSE IDE

+0

データベースに応じて、エスケープ文字(二重引用符、角括弧、またはバッククォート)が必要です。ただし、アンダースコアを使用することをお勧めします。 –

答えて

0

これを実行する典型的な方法は、エスケープ文字を使用することです。つまり、後に続くのは実際には文字列の一部であり、文字列自体の終わりではないことをコンパイラに伝えます。たとえば、"She told me "I didn't hear you" to my face."と入力すると、"She told me "にナンセンスI didn't hear youと最後の文字列" to my face."を加えたものがコンパイルされます。エスケープ文字の場合は"She told me ""I didn't hear you"" to my face."のように書くでしょう。この場合は二重引用符ですが、どのコンパイラで話しているかによって異なりますに。

ResultSet rs = stmt.executeQuery= (" 
SELECT COLUMN1 as ""STRING WITH SPACE"" ex EMPLOYEE NAME 
FROM TABLE1 
WHERE CONDITION1 = CONDITION 
"); 

実際には、アンダースコアを使用するか、スペースを使用しないことをおすすめします。私の経験では、すべては、あなたとあなたの後にそれの上であなたのコラムエイリアスと戦わなければならないすべての他の誰にも難しいです。

+0

ご回答いただきありがとうございます。 –

関連する問題