msdn的例子,很好的,一看就明白SELECT CASE WHEN price IS NULL THEN 'Not yet priced' WHEN price < 10 THEN 'Very Reasonable Title' WHEN price >= 10 and price < 20 THEN 'Coffee Table Title' ELSE 'Expensive book!' END AS "Price Category", CONVERT(varchar(20), title) AS "Shortened Title" FROM pubs.dbo.titles ORDER BY price
呵呵,select 功能比set 强大,对于同样可使用两者之一的,就看个人习惯了,上面的就是可以用set的,用select可以这个样子: select @nstp=(case @qxlx when 'x' then ' and qw05nstp='+@qxlx when '/' then 'and qw05nstp='+@qxlx else '' end), @defc=(case @qxian when '全部' then '' else 'and qw05defc='+@qxian end),......
CASE
WHEN price IS NULL THEN 'Not yet priced'
WHEN price < 10 THEN 'Very Reasonable Title'
WHEN price >= 10 and price < 20 THEN 'Coffee Table Title'
ELSE 'Expensive book!'
END AS "Price Category",
CONVERT(varchar(20), title) AS "Shortened Title"
FROM pubs.dbo.titles
ORDER BY price
select @nstp=(case @qxlx when 'x' then ' and qw05nstp='+@qxlx when '/' then 'and qw05nstp='+@qxlx else '' end),
@defc=(case @qxian when '全部' then ''
else 'and qw05defc='+@qxian end),......