2017-02-07 11 views
0

postgreSQLのexcept構文を使用して、2つのテーブルの一致するアドレスとそれ以下のアドレスが一致しない値であるかどうかを確認しています。2つの値の列の違いを確認するにはどうすればよいですか?

select Address from allsalesdata 
except 
select Address from addresses 

データソース(アドレス)に対してチェックするために、欠落したアドレスをコピーしてExcelに貼り付けましたが、その違いを特定できません。 2つの値が一致していて、答えが負であったかどうかをチェックするために、Excelでif式とexact式の両方をチェックしました。どのようにSQLの2つの列の値の違いを見つけるには?

allsalesdata       addresses 

111 Thoroughbred Avenue   111 Thoroughbred Avenue 
222 Bannerdale Blvd    222 Bannerdale Blvd 
3333 Stampede Drive    3333 Stampede Drive 
444 Stampede Drive    444 Stampede Drive 
555 Thoroughbred Avenue   555 Thoroughbred Avenue 
+2

は先頭にスペースがありますか? –

+0

そうですね。先頭にスペースがあります。 SQLはそれも考慮するでしょうか?私はPythonとプログラミング言語を理解していますが、SQLもそうです。 –

答えて

1

トリムtrim

を使用してみてください(文字列から[文字] [リード| |末尾の両方])

デフォルトでは文字のみを含む最も長い文字列(スペースを削除します)文字列の先頭/末尾/両端からの文字列

select trim(both ' ' from Address) as Address from allsalesdata 
except 
select trim(both ' ' from Address) as Address from addresses 
1

McNetsが指摘しているように、先頭と末尾のスペースを削除することができます。空白以外のスペースがある場合は、this answer

のように正規表現機能を使用することができます。後で処理するための相違点を特定する場合は、「相違点」表を選択することをおすすめしますselectを除く)をcsvに引用符を有効にしておくと、テキストエディタやlinuxコマンドを使ってそれらの厄介な文字を見つけることができます。

関連する問題