PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列值。
1、PIVOT 使用实例
先建立一个临时表做为例表:
2
3 INSERT INTO #PIVOT VALUES (1,'张三','语文',54.12);
4 INSERT INTO #PIVOT VALUES (2,'张三','数学',25.3);
5 INSERT INTO #PIVOT VALUES (3,'张三','外语',69);
6 INSERT INTO #PIVOT VALUES (4,'张三','物理',15.23);
7 INSERT INTO #PIVOT VALUES (5,'张三','化学',15.02);
8
9 INSERT INTO #PIVOT VALUES (6,'李四','语文',54.12);
10 INSERT INTO #PIVOT VALUES (7,'李四','数学',25.3);
11 INSERT INTO #PIVOT VALUES (8,'李四','外语',69);
12 INSERT INTO #PIVOT VALUES (9,'李四','物理',15.23);
13 INSERT INTO #PIVOT VALUES (10,'李四','化学',15.02);
表的内容:

使用PIVOT 语句:
2 select [subject],name,val from #PIVOT
3 ) as p1
4 pivot (max(val) for name in ([张三],[李四])) as p2
5 order by p2.[subject]
运行结果:

2、UNPIVOT实例
建立一个临时表结构:
2 Emp3 int, Emp4 int, Emp5 int);
3
4 INSERT INTO #pvt VALUES (1,4,3,5,4,4);
5 INSERT INTO #pvt VALUES (2,4,1,5,5,5);
6 INSERT INTO #pvt VALUES (3,4,3,5,4,4);
7 INSERT INTO #pvt VALUES (4,4,2,5,5,4);
8 INSERT INTO #pvt VALUES (5,5,1,5,5,5);
表内容:

UNPIVOT语句:
2 FROM
3 (SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
4 FROM #pvt) p
5 UNPIVOT
6 (Orders FOR Employee IN
7 (Emp1, Emp2, Emp3, Emp4, Emp5)
8 )AS ss;
运行结果:

在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined?
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
- var oValue;
- alert(oValue == undefined); //output "true"
- alert(null == document.getElementById('notExistElement'));
- alert(typeof undefined); //output "undefined"
- alert(typeof null); //output "object"
- alert(null == undefined); //output "true"
- alert(null === undefined); //output "false"
- alert(typeof null == typeof undefined); //output "false"
前言:JQuery用了好一段时间了,一直对$(document).ready()和window.onload的区别有点模糊,最近有时间就在网上查了查子类,做了个小例子;
网上给的解释比较通俗易懂:
1.执行时间
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
2.编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个
$(document).ready()可以同时编写多个,并且都可以得到执行
3.简化写法
window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});
下面是个测试例子:
<head runat="server">
<title>测试JQuery</title>
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function () {
var str = document.getElementById("lbtestJs").innerHTML + "<br />这个是Window.onload方法;";
document.getElementById("lbtestJs").innerHTML = str;
};
$(function () {
$("#lbtestJs").html($("#lbtestJs").html() + "<br /> 这个是JQuery的$(document).ready();");
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
测试JQuery和JavaScript:<br />
<label id="lbtestJs">sss</label>
</div>
</form>
</body>
</html>
结果:
测试JQuery和JavaScript:
这个是Window.onload方法;