SQLServerÈÎÒâÁÐÖ®¼äµÄ¾ÛºÏ
SQLServerÈÎÒâÁÐÖ®¼äµÄ¾ÛºÏ ÊÕ²Ø
sqlµÄmaxÖ®ÀàµÄ¾ÛºÏº¯ÊýÖ»ÄÜÕë¶ÔͬһÁеÄnÐÐÔËË㣬Èç¹û¶ÔnÁÐÔËË㣬һ°ã¶¼ÓÃcase Óï¾äÀ´Åжϣ¬Èç¹ûÁÐÉÙ»¹±È½ÏÈÝÒ×д£¬ÁжàÁ˾ÍÂé·³ÁË¡£ÕâÀï½éÉÜÒ»¸öͨ¹ýxmlºÏ²¢Áв¢×ªÎªÐм¯ºóÖ±½ÓÓþۺϺ¯ÊýÇóÖµµÄ·½·¨£¬²âÊÔÓÃÀýºÍ´úÂëÈçÏÂ
--------------------------------------------------------------------------------
/*
²âÊÔÃû³Æ£ºÀûÓà XML ÇóÈÎÒâÁÐÖ®¼äµÄ¾ÛºÏ
²âÊÔ¹¦ÄÜ£º¶ÔÒ»ÕűíµÄÁÐÊý¾Ý×ö min ¡¢ max ¡¢ sum ºÍ avg ÔËËã
ÔËÐÐÔÀí£º×ֶκϲ¢Îª xml ºó×ö xquery ²éѯתΪÐм¯ºó¾ÛºÏ
×÷Õߣº jinjazz £¨½üÉí¼ô£©
*/
-- ½¨Á¢²âÊÔ»·¾³
declare @t table (
id smallint ,
a smallint , b smallint ,
c smallint , d smallint ,
e smallint , f smallint )
insert into @t
select 1, 1, 2, 3, 4, 6, 7 union all
select 2, 34, 45, 56, 54, 9, 6
-- ²âÊÔÓï¾ä
select a.*, c.*
from @t a outer apply(
select doc=(
select * from @t as doc where id= a. id for xml path ( '' ), type )
) b
outer apply(
select
min ( r) as minValue,
max ( r) as maxValue,
sum ( r) as sumValue,
avg ( r) as avgValue
from (
select cast ( cast ( d. n. query( 'text()' ) as varchar ( max )) as int ) as r
from doc. nodes( '/a,b,c,d,e,f' ) D( n)) tt
) c
/* ²âÊÔ½á¹û
id a b c d e f minValue maxValue sumValue avgValue
------ ------ ------ ------ ------ ------ ------ ----------- ----------- ----------- -----------
1 1 2 3 4 6 7 1  
Ïà¹ØÎĵµ£º
EÅ̸ùĿ¼Ð½¨Ò»¸öExcelÎļþaa.xlsºó²âÊÔÈçÏ´úÂë
use tempdb
go
if (object_id ('udf_getExcelTableNames' ) is not null )
drop function dbo .udf_getExcelTableNames
go
create function udf_getExcelTableNames (@filename varchar (1000 ))
returns @t table (id int , name varchar ( ......
×î½üÕûÀí³öÀ´µÄ.Èç¹û²»ÍêÈ«µÄ»°Ï£Íû´ó¼Ò²¹³ä.
ÔÚaccessÖУ¬×ª»»Îª´óдµÄsqlº¯ÊýÊÇucase£¬ÔÚsqlserverÖУ¬×ª»»Îª´óдµÄº¯ÊýÊÇupper£»ÔÚaccessÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlcase£¬ÔÚsqlserverÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlower£»ÔÚaccessÖУ¬È¡µ±Ç°Ê±¼äµÄº¯ÊýÊÇnow£¬ÁíÍ⻹ÓÐÒ»¸öÈ¡ÈÕÆÚº¯Êýdate£¬ÔÚsqlserverÖУ¬È¡µ±Ç°µÄº¯ÊýÊÇgetdate ......
HOLDLOCK ½«¹²ÏíËø±£Áôµ½ÊÂÎñÍê³É£¬¶ø²»ÊÇÔÚÏàÓ¦µÄ±í¡¢ÐлòÊý¾ÝÒ³²»ÔÙÐèҪʱ¾ÍÁ¢¼´ÊÍ·ÅËø¡£HOLDLOCK µÈͬÓÚ SERIALIZABLE¡£
NOLOCK ²»Òª·¢³ö¹²ÏíËø£¬²¢ÇÒ²»ÒªÌṩÅÅËüËø¡£µ±´ËÑ¡ÏîÉúЧʱ£¬¿ÉÄÜ»á¶ÁȡδÌá½»µÄÊÂÎñ»òÒ»×éÔÚ¶ÁÈ¡ÖÐ¼ä»Ø¹öµÄÒ³Ãæ¡£ÓпÉÄÜ·¢ÉúÔà¶Á¡£½öÓ¦ÓÃÓÚ SELECT Óï¾ä¡£
PAGLOCK ÔÚͨ³£Ê¹Óõ¥¸ö±íËøµ ......
/*ÓÃCASE WHENʵÏÖsqlserverÊý¾Ý¿âµÄ·ÖÀà»ã×ܹ¦ÄÜ*/
/*Àý1£ºÍ³¼Æ¸öÊý*/
/*±í½á¹¹
id cityid major
1 1 A
2 1 B
3 2 ......
SQLServerÖеÄÑ»·Åú´¦Àí
GOÃüÁîºóÃæ¼ÓÒ»¸ö³£Á¿¾Í¿ÉÒÔÁË
ÏÂÃæ·½·¨¿ÉÒÔÓÃÀ´¿ìËÙÉú³ÉÒ»ÅúÊý¾Ý
if (object_id ('t' ) is not null ) drop table t
go
create table t (id int identity (1 , 1 ), name varchar (40 ))
go
insert into t (name ) select newid ()
go 10
select * from t
/*
1 &nbs ......