2016-06-25 6 views
-2

はLEFT OUTERのAND条件でこれを見つけたんどのようにAA & DDの間のJOINは%でオペレータと評価するが

AND DD.EMPL_ID LIKE '%' + AA.[Emp_Id] 

誰もが、これは評価し、どのようにされるかを説明することはできますか?

+2

演算子は「LIKE」です。 ''% ''は単なる文字列です。 – melpomene

+0

DD.EMPL_IDがAA.Emp_Idと連結された文字列のような場合は? – Sharktooth

答えて

3

LIKE演算子は文字列比較を行いますが、%_をそれぞれ任意の文字列と任意の1文字にそれぞれ一致するワイルドカードとして扱います。これはシェルの*?に似ています。

DD.EMPL_ID LIKE '%' + AA.[Emp_Id] 

あなたのDBMは、文字列の連結のための+を使用していますように(標準SQLは||だろう)になります。 AA.[Emp_id]'hello'であれば、その条件は、DD.EMPL_IDDD.EMPL_IDhelloで終了したか否か、すなわち、hello続く任意の文字列であるかどうかをチェック

DD.EMPL_ID LIKE '%hello' 

ある

DD.EMPL_ID LIKE '%' + 'hello' 

なります。

+0

私はMS SQL Serverを使用しています。このDD.EMPL_ID LIKE '%hello'はDD.EMPL_ID LIKE '%' + AAよりも意味があります。[Emp_Id] - 答えていただきありがとうございます。 – Sharktooth

関連する問題