昌邑市住房和建设局网站,但是打不开网页,做美食的网站有哪些,相册插件wordpress异同点 都可以对表行转列#xff1b;DECODE功能上和简单Case函数比较类似#xff0c;不能像Case搜索函数一样#xff0c;进行更复杂的判断在Case函数中#xff0c;可以使用BETWEEN, LIKE, IS NULL, IN, EXISTS等等#xff08;也可以使用NOT IN和NOT EXISTS#xff0c;但是…异同点 都可以对表行转列DECODE功能上和简单Case函数比较类似不能像Case搜索函数一样进行更复杂的判断在Case函数中可以使用BETWEEN, LIKE, IS NULL, IN, EXISTS等等也可以使用NOT IN和NOT EXISTS但是这个时候要注意NULL的情况。DECODE方法 (Oracle公司独家) decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) --该函数的含义如下
IF 条件值1 THEN RETURN(翻译值1)
ELSIF 条件值2 THEN RETURN(翻译值2) ......
ELSIF 条件值n THEN RETURN(翻译值n)
ELSE RETURN(缺省值)
END IF
--行转列
SELECT name, SUM(DECODE(Subject, 数学, Score, 0)) 数学, SUM(DECODE(Subject, 语文, Score, 0)) 语文, SUM(DECODE(Subject, 英语, Score, 0)) 英语 FROM Scores GROUP BY name CASE WHEN SELECT name,
SUM( CASE WHEN Subject数学 THEN Score ELSE 0 END) 数学, SUM( CASE WHEN Subject语文 THEN Score ELSE 0 END) 语文, SUM( CASE WHEN Subject英语 THEN Score ELSE 0 END) 英语 FROM Scores group by name; Case函数只返回第一个符合条件的值剩下的Case部分将会被自动忽略Else部分的默认值是NULL Case具有两种格式,简单Case函数的写法相对比较简洁但是和Case搜索函数相比功能方面会有些限制比如写判断式 在Case函数中可以使用BETWEEN, LIKE, IS NULL, IN, EXISTS等等也可以使用NOT IN和NOT EXISTS但是这个时候要注意NULL的情况。 --简单Case函数
CASE sex
WHEN 1 THEN 男
WHEN 2 THEN 女
ELSE 其他 END--Case搜索函数
CASE
WHEN sex 1 THEN 男 WHEN sex 2 THEN 女 ELSE 其他 END --根据条件有选择的UPDATE。 UPDATE Scores SET grade CASE WHEN score 85 THEN 优秀 WHEN score 70 AND score 85 THEN 良好 WHEN score 60 AND score 70 THEN 及格 ELSE 不及格 END; --在Case函数中使用聚合函数:COUNT, SUM, AVG, MAX, MIN SELECT name, CASE WHEN COUNT(*) 1 THEN MAX(subject) ELSE MAX(CASE WHEN major Y THEN subject ELSE NULL END) END AS major_subject FROM Scores GROUP BY name; Scores表结构和实现如下 转载于:https://www.cnblogs.com/niudaxianren/p/10018715.html