sql case when end as

CASE 多是 SQL 中被误用最多的关键字之一。虽然你可能之前用过这个关键字来建立字段,可是它还具备更多用法。例如,你能够在 WHERE 子句中使用 CASE。 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁首先让咱们看一下 
CASE 的语法。在通常的 SELECT 中,其语法以下: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
SELECT 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
WHEN <A> THEN <somethingA> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
WHEN <B> THEN <somethingB> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
ELSE <somethingE> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
END as <myColumnSpec> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁在上面的代码中须要用具体的参数代替尖括号中的内容。下面是一个简单的例子: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
USE pubs 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
SELECT 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title, 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
       CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
END  as 'Price Range' sql

FROM titles 
ORDER BY price 
GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁这是 
CASE 的典型用法,可是使用 CASE 其实能够作更多的事情。比方说下面的 GROUP BY 子句中的 CASE: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
SELECT 'Number of Titles'Count(*
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
FROM titles 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
GROUP BY 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
END 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁你甚至还能够组合这些选项,添加一个 
ORDER BY 子句,以下所示: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
USE pubs 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
SELECT 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
END AS Range, 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
FROM titles 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
GROUP BY 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
END
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
ORDER BY 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
END
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁注意,为了在 
GROUP BY 块中使用 CASE,查询语句须要在 GROUP BY 块中重复 SELECT 块中的 CASE 块。 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁除了选择自定义字段以外,在不少状况下 
CASE 都很是有用。再深刻一步,你还能够获得你之前认为不可能获得的分组排序结果集。spa

相关文章
相关标签/搜索