摘要: PIVOT的中文意思是“在枢轴上转动”,比如对于一个2维坐标,将横坐标变成纵坐标,将纵坐标变成横坐标。反映在一个Relational Table上的意思就是:变行为列,变列为行。表一:表二:将表一转换成表二:SELECT * FROM StudentScorePIVOT ( SUM(Score) FOR Subject IN ([语文],[数学],[化学],[物理]))AS BSUM(Score) 是我们需要统计的数据,FOR Subject IN ([语文],[数学],[化学],[物理]是统计的范围)就成了我们最终输出的结构了。以上部分转自:http://blog.vsharing.com/ 阅读全文
posted @ 2011-03-11 22:46 Devil_Zhang 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: 解释:删除指定长度的字符,并在指定的起点处插入另一组字符。语法:STUFF ( character_expression1 , start , length [,character_expression2])参数:character_expression1:一个字符数据表达式。character_expression可以是常量、变量,可以是字符列或者是二进制数据列。start:一个整数值,指定删除和插入的开始位置。如果start和 length为负,则返回空字符串。如果start比第一个character_expression 长,则返回空字符串。start可以是bigint类型。length 阅读全文
posted @ 2011-03-11 21:58 Devil_Zhang 阅读(626) 评论(0) 推荐(1) 编辑
摘要: SQL Server2005新增crossapply 和outerapply 联接语句,增加这两个东东有啥作用呢?我们知道有个 SQL Server2000中有个crossjoin是用于交叉联接的。实际上增加crossapply 和outerapply 是用于交叉联接表值函数(返回表结果集的函数)的, 更重要的是这个函数的参数是另一个表中的字段。这个解释可能有些含混不请,请看下面的例子:--1. cross join 联接两个表select * from TABLE_1 as T1cross join TABLE_2 as T2【此句实际上是求笛卡尔积】--2. cross join 联接表和 阅读全文
posted @ 2011-03-11 21:29 Devil_Zhang 阅读(6966) 评论(4) 推荐(3) 编辑
摘要: CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下:CHARINDEX ( expression1 , expression2 [ , start_location ] )Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果:CHARIN 阅读全文
posted @ 2011-03-11 12:06 Devil_Zhang 阅读(1753) 评论(0) 推荐(0) 编辑