2012-02-24 11 views
0

さて、私はこのようクエリを実行したいが、私はcol3単語'somethingx'が含まれている場合は、私がしたい、それは言い換えればSQLクエリselect col1、col2、col3 = 'xx'、 'yy' else col3、col4 col5 ???それは可能ですか?

Select 
    col1, 
    col2, 
    col3, 
    if(contain(col3,'somethingx')) then 'hello' else 'world' as col4, 
    col5 
from table1 

かのうであれば、私は

col1 
col2 
col3 

を選択したい知りません選択する'hello' as col4

それ以外の場合は、私のテーブルから'world' as col5を選択します。

+1

Caseステートメントを試しましたか? – Dan

+0

T-SQLの 'CASE'文についてお読みになりましたか? http://msdn.microsoft.com/en-us/library/ms181765.aspx – teran

+0

T-SQLのCASEでは、用語について誇張しているだけですが、CASEは(式のスカラー値を返す)*式です。 *ステートメント*。これをステートメントと呼びますと、人々はVBで名前を付けて処理できるように、T-SQLではできないように、フローの制御に使用できると信じています。 –

答えて

4
SELECT 
    col1, 
    col2, 
    col3, 
    CASE WHEN col3 LIKE '%somethingx%' THEN 'hello' ELSE 'world' END AS col4, 
    col5 
FROM table1