sql server ¹ØÓÚ Êý¾Ý»ã×Ü·ÖÎö
CUBE ºÍ ROLLUP Ö®¼äµÄÇø±ðÔÚÓÚ£º
CUBE Éú³ÉµÄ½á¹û¼¯ÏÔʾÁËËùÑ¡ÁÐÖÐÖµµÄËùÓÐ×éºÏµÄ¾ÛºÏ¡£
ROLLUP Éú³ÉµÄ½á¹û¼¯ÏÔʾÁËËùÑ¡ÁÐÖÐÖµµÄijһ²ã´Î½á¹¹µÄ¾ÛºÏ¡£
Àý×Ó£º
if object_id('a') is not null
drop table a
create table a
(
bm varchar(20), --±àÂë
ck varchar(2), --²Ö¿â
sl int --ÊýÁ¿
)
insert into a
select '01' ,'a', 6
union all
select '01','b',7
union all
select '02','a',8
union all
select '02','b',9
select * from a
£¨1£©rollup µÄÓ÷¨
SELECT bm, hj=
case when grouping(ck)=0
then
ck
else
bm+'ºÏ¼Æ'
end
, Sum(sl) as sl
from A
GROUP BY bm, ck WITH ROLLUP
/*
01 a 6
01 b 7
01 01ºÏ¼Æ 13
02 a 8
02 b 9
02 02ºÏ¼Æ 17
NULL NULL 30
*/
£¨2£©¹ØÓÚcubleµÄ»ù±¾Ó÷¨¡£
SELECT bm, ck, Sum(sl) as sl
from A
GROUP BY bm,ck WITH cube
/*
01 a 6
01 b 7
01 NULL
Ïà¹ØÎĵµ£º
1.×Ö·û´®º¯Êý
³¤¶ÈÓë·ÖÎöÓÃ
datalength(Char_expr) ·µ»Ø×Ö·û´®°üº¬×Ö·ûÊý,µ«²»°üº¬ºóÃæµÄ¿Õ¸ñ
substring(expression,start,length) ²»¶à˵ÁË,È¡×Ó´®
right(char_expr,int_expr) ·µ»Ø×Ö·û´®ÓÒ±ßint_expr¸ö×Ö·û
×Ö·û²Ù×÷Àà
upper(char_expr) תΪ´óд
lower(char_expr) תΪСд
space(int_expr) Éú³Éint_expr¸ ......
USE [rossic]
GO
/****** Object: StoredProcedure [dbo].[fn_GetLunar] Script Date: 02/23/2010 15:46:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE proc [dbo].[fn_GetLunar]   ......
ÊÖ¶¯ÉèÖüÆÊýÆ÷×¢²á±íÏîµÄÔöÁ¿ :
1.ÔÚ Microsoft Windows 2003 »ò Windows XP ×ÀÃæÉÏ£¬ÒÀ´Îµ¥»÷“¿ªÊ¼”¡¢“ÔËÐД£¬È»ºóÔÚ“´ò¿ª”ÖмüÈë regedit.exe£¬ÔÙµ¥»÷“È·¶¨”¡£ÔÚ Windows 2000 ÖУ¬Ê¹Óà regedt32.exe Æô¶¯×¢²á±í±à¼Æ÷¡£
  ......
SQLÓï¾äµÄÌí¼Ó¡¢É¾³ý¡¢ÐÞ¸ÄËäÈ»ÓÐÈçϺܶàÖÖ·½·¨£¬µ«ÔÚʹÓùý³ÌÖл¹ÊDz»¹»Ó㬲»ÖªÊÇ·ñÓиßÊְѸü¶àÁé»îµÄʹÓ÷½·¨¹±Ï׳öÀ´£¿
Ìí¼Ó¡¢É¾³ý¡¢ÐÞ¸ÄʹÓÃdb.Execute(Sql)ÃüÁîÖ´ÐвÙ×÷
╔----------------╗
¡î Êý¾Ý¼Ç¼ɸѡ ¡î
╚----------------╝
×¢Ò⣺µ¥Ë«ÒýºÅµÄÓ÷¨¿ÉÄÜÓÐÎó(ûÓвâʽ)
Sql = "S ......