1
select 'Test '+m.testname+' '+
Case
When m.value = 'ttttt' Then 'tt'
When m.styleName = 'ppppp' Then 'pp'
When m.styleName = 'qqqqq' Then 'qq'
When m.styleName = 'yyyyyy' Then 'yy'
Else ''
End from testtable m where m.id=10'
これは私のクエリです。case文の後に形成される文字列の長さを調べる必要があります。長さが35より大きい場合、 "m.testname"フィールドから文字列を削除します。 ご協力いただきありがとうございます。case文の結果を別の操作にどのように使用できますか?
select YourString,
LEN(YourString) [Length],
Case
When LEN(YourString) > 35 THEN REPLACE(YourString,testname,'')
Else YourString
End YourNewString
from ( select 'Test '+m.testname+' '+
Case
When m.value = 'ttttt' Then 'tt'
When m.styleName = 'ppppp' Then 'pp'
When m.styleName = 'qqqqq' Then 'qq'
When m.styleName = 'yyyyyy' Then 'yy'
Else ''
End YourString,
m.testname
from testtable m
where m.id=10) a
;
それとも、CTE使用することができます:
を – isree