ʹÓùýSQL Server 2000µÄÈ˶¼ÖªµÀ£¬ÒªÏëʵÏÖÐÐÁÐת»»,±ØÐë×ÛºÏÀûÓþۺϺ¯ÊýºÍ¶¯Ì¬SQL£¬¾ßÌåʵÏÖÆðÀ´ÐèÒªÒ»¶¨µÄ¼¼ÇÉ£¬¶øÔÚSQL Server 2005ÖУ¬Ê¹ÓÃÐÂÒý½øµÄ¹Ø¼ü×ÖPIVOT/UNPIVOT£¬Ôò¿ÉÒÔºÜÈÝÒ×µÄʵÏÖÐÐÁÐת»»µÄÐèÇó¡£
ÔÚ±¾ÎÄÖÐÎÒÃǽ«Í¨¹ýÁ½¸ö¼òµ¥µÄÀý×ÓÏêϸ½²½âPIVOT/UNPIVOTµÄÓ÷¨¡£
PIVOTµÄÓ÷¨£º
Ê×ÏÈ´´½¨²âÊÔ±í£¬È»ºó²åÈë²âÊÔÊý¾Ý
create table test(id int,name varchar(20),quarter int,profile int)
insert into test values(1,'a',1,1000)
insert into test values(1,'a',2,2000)
insert into test values(1,'a',3,4000)
insert into test values(1,'a',4,5000)
insert into test values(2,'b',1,3000)
insert into test values(2,'b',2,3500)
insert into test values(2,'b',3,4200)
insert into test values(2,'b',4,5500)
select * from test
id name quarter profile
----------- -------------- ----------- -----------
1 a 1 1000
1 a 2 2000
1 a 3 4000
1 a 4 5000
2 b 1 3000
2 b 2 3500
2 b 3 4200
2 b 4 5500
(8 row(s) affected)
ʹÓÃPIVOT½«Ëĸö¼¾¶ÈµÄÀûÈóת»»³ÉºáÏòÏÔʾ:
select id,name,
[1] as "Ò»¼¾¶È",
[2] ......
sql serverϵͳ±íÏêϸ˵Ã÷
sysaltfiles
Ö÷Êý¾Ý¿â ±£´æÊý¾Ý¿âµÄÎļþ
syscharsets
Ö÷Êý¾Ý¿â×Ö·û¼¯ÓëÅÅÐò˳Ðò
sysconfigures
Ö÷Êý¾Ý¿â ÅäÖÃÑ¡Ïî
syscurconfigs
Ö÷Êý¾Ý¿âµ±Ç°ÅäÖÃÑ¡Ïî
sysdatabases
Ö÷Êý¾Ý¿â·þÎñÆ÷ÖеÄÊý¾Ý¿â
syslanguages
Ö÷Êý¾Ý¿âÓïÑÔ
syslogins
Ö÷Êý¾Ý¿â µÇ½ÕʺÅÐÅÏ¢
sysoledbusers
Ö÷Êý¾Ý¿â Á´½Ó·þÎñÆ÷µÇ½ÐÅÏ¢
sysprocesses
Ö÷Êý¾Ý¿â½ø³Ì
sysremotelogins
Ö÷ Êý¾Ý¿â Ô¶³ÌµÇ¼ÕʺÅ
syscolumns
ÿ¸öÊý¾Ý¿â ÁÐ
sysconstrains
ÿ¸öÊý¾Ý¿â ÏÞÖÆ
sysfilegroups
ÿ¸öÊý¾Ý¿â Îļþ×é
sysfiles
ÿ¸öÊý¾Ý¿â Îļþ
sysforeignkeys
ÿ¸öÊý¾Ý¿â Íⲿ¹Ø¼ü×Ö
sysindexs
ÿ¸öÊý¾Ý¿â Ë÷Òý
sysmenbers
ÿ¸öÊý¾Ý¿â½ÇÉ«³ÉÔ±
sysobjects
ÿ¸öÊý¾Ý¿âËùÓÐÊý¾Ý¿â¶ÔÏó
syspermissions
ÿ¸öÊý¾Ý¿â ȨÏÞ
systypes
ÿ¸öÊý¾Ý¿â Óû§¶¨ÒåÊý¾ÝÀàÐÍ
sysusers
ÿ¸öÊý¾Ý¿â Óû§
sysaltfiles ......
SQL *PLUS RepostµÄ¿ª·¢·½·¨
ʹÓÃSQL*PLUS ¿ÉÖ±½ÓÔÚIE BrowserÖÐÉú³É¹æÕûµÄ×Ö·ûÐÍReport. ʵÏÖ·½·¨¼òµ¥£¬²¼ÊðÈÝÒס£
·½·¨:
1. ÀûÓÃÎı¾±à¼Æ÷±àдSQL*PLUS ½Å±¾£¬±£´æ³É .sql Îļþ¡£
2. ÉÏ´«sql ÎļþÖÁÓ¦ÓõÄsql Ŀ¼¡£
3. ×¢²áMethod ΪSQL*PLUS µÄConcurrent,²¢µ÷ÓÃ´Ë sql Îļþ.
SQL*PLUS Report µÄ¸ñʽ»¯·½·¨:
1. ¸Ä±äÁбêÌâ
COLUMN <×Ö¶ÎÃû»ò×ֶαðÃû> HEADING <±êÌâÃû>
Àý:
COLUMN LAST_NAME HEADING 'LAST NAME'
COLUMN SALARY HEADING 'MONTHLY SALARY'
COLUMN COMMISSION_PCT HEADING 'COMMISSION'
2. ÁбêÌâ×Ô¶¯ÕÛÐÐ
COLUMN <×Ö¶ÎÃû»ò×ֶαðÃû> HEADING <± ......
Óï¾ä¼°²éѯ½á¹û£º
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 ......
ÎÒÃÇÖªµÀ£¬SQL ServerÊÂÎñÈÕÖ¾Ö÷ÒªÊÇÓÃÀ´¼Ç¼ËùÓÐÊÂÎñ¶ÔÊý¾Ý¿âËù×öµÄÐ޸ģ¬Èç¹ûϵͳ³öÏÖ¹ÊÕÏ£¬Ëü½«³ÉΪ×îÐÂÊý¾ÝµÄΨһÀ´Ô´¡£ÈÕÖ¾µÄ²Ù×÷³£ÓÐÒÔϼ¸¸öÓ¦Óãº
Ò»¡¢ÊÂÎñÈÕÖ¾ÎļþLDFµÄ¶ªÊ§
µ±ÎÒÃDz»Ð¡É¾³ý»òÕßLDFÎļþ¶ªÊ§µÄʱºò£¬Êý¾Ý¿âֻʣÏÂMDFÎļþ£¬´Ëʱֱ½Óͨ¹ý¸½¼ÓMDFÊÇÎÞ·¨»Ö¸´Êý¾Ý¿âµÄ£¬ÄÇÎÒÃÇÔõôÑù²ÅÄָܻ´Êý¾Ý¿âÄØ?ÎÒÃÇ¿ÉÒÔ°ÑSQL ServerµÄÈÕÖ¾Îļþ·ÖΪÁ½ÖÖÐÎʽ£ºÒ»ÀàÊÇÎ޻ÊÂÎñµÄÈÕÖ¾£¬ÁíÒ»ÀàÊÇÓлÊÂÎñµÄÈÕÖ¾£¬ÎÒÃÇ·Ö±ð¸ù¾ÝÁ½ÖÖÇé¿öÀ´½øÐÐÊý¾Ý¿â»Ö¸´¡£
1¡¢Î޻ÊÂÎñµÄÈÕÖ¾»Ö¸´
µ±Îļþ²¢Ã»Óз¢Éú»î¶¯ÐÔµÄÈÕÖ¾£¬ÎÒÃǾͿÉÒÔºÜÈÝÒ×µÄÀûÓÃMDFÎļþ¾Í¿ÉÒÔÖ±½Ó»Ö¸´Êý¾Ý¿âÁË£¬¾ßÌå²Ù×÷·½·¨ÈçÏ£º
1)Êý¾Ý¿âÒªÊÇûÓÐÈÕÖ¾£¬¾Í»á´¦ÓÚÖÃÒɵÄ״̬£¬ÎÒÃÇÏÈ¿ÉÒÔͨ¹ýÆóÒµ¹ÜÀíÆ÷ÖÐÔÚ¶ÔÓ¦Êý¾Ý¿âÖеã»÷ÓÒ¼ü£¬È»ºóÔÚ“ËùÓÐÈÎÎñ”ÏÂÑ¡Ôñ“·ÖÀëÊý¾Ý¿â”°ÑÊý¾Ý¿â½øÐзÖÀë;
2)ÀûÓÃMDFÎļþ¸½¼ÓÊý¾Ý¿âÉú³ÉеÄÈÕÖ¾Îļþ£¬¿ÉÓÃÆóÒµ¹ÜÀíÆ÷ÖÐÊý¾Ý¿âµã»÷ÓÒ¼üÑ¡Ôñ“ËùÓÐÈÎÎñ”Ïµē¸½¼ÓÊý¾Ý¿â”°ÑÊý¾Ý¿â¸½¼ÓÉÏ¡£
ÕâÑù¾Í¿ÉÒÔÖ±½Ó»Ö¸´ºÃÊý¾Ý¿âÁË£¬¶øÈç¹ûÊý¾Ý¿âµÄÈÕÖ¾ÎļþÖк¬ÓлÊÂÎñ£¬ÀûÓô˷½·¨¾Í²»Äָܻ´Êý¾Ý¿â£¬ËùÒÔµÃʹÓÃÏÂÃæµÄ·½·¨¡£
2¡¢Óлî ......
CREATE FUNCTION StringToBarcode
(@Value Varchar(50) )
RETURNS NVarchar(100)
AS
BEGIN
Declare @charCount int
Declare @charPos int, @minCharPos int
declare @currentChar int, @checksum int
Declare @isTableB int,@isValid int
Declare @returnValue NVarchar(100)
set @isTableB=1
set @isValid=1
set @returnValue=''
if Len(@Value)>0
BEGIN
set @charCount=1
while @charCount<=Len(@Value)
BEGIN
SET @currentChar = ASCII(Substring(@value,@charCount, 1))
IF NOT (@currentChar>=32 AND @currentChar<=126)
BEGIN
SET @isValid=0
break
END
SET @charCount=@charCount+1
END
if @isValid=1
BEGIN
SET @charPos=1
WHILE @charP ......