--------------------------------------------------------------------------
-- Author : htl258(Tony)
-- Date : 2010-04-23 20:33:15
-- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
-- Blog : http://blog.csdn.net/htl258
-- Subject: ÅúÁ¿¸ü¸ÄÓû§±íÄÚ×Ö·ûÐÍ×ֶεÄÅÅÐò¹æÔò
--------------------------------------------------------------------------
DECLARE @S NVARCHAR(1000)
DECLARE C CURSOR FOR --²»Çø·Ö´óСд
SELECT 'ALTER TABLE ['+B.NAME+'] ALTER COLUMN ['+A.NAME+'] '+ TYPE_NAME(A.XTYPE)+
CASE WHEN TYPE_NAME(A.XTYPE) IN('TEXT','NTE ......
ºÜ¶àÈ˶ÔXpath¿ÉÄܱȽÏÊìϤ£¬µ«²»ÖªµÀÓÐûÓÐÖ±½Ó²Ù×÷¹ýÊý¾Ý¿â£¬ÎÒÃǶ¼ÖªµÀ ÔÚSql2005À﹫֧³ÖµÄ¼¸ÖÖ²éѯÓÐRaw£¬Auto£¬PathģʽµÈ£¬Èç¹ûÔÚ2000ÀïʹÓùý PathģʽµÄÅóÓÑÓ¦¸ÃÖªµÀ£¬ÊDz»ÈÝÒ×´¦Àí²éѯ½á¹ûµÄ£¬ÄÇôÔÚ2005Àï¶ÔÕâÒ»¿é×öÁ˺ܺõÄÌáÉý
ÎÒÏÈÀ´½éÉÜÒ»ÏÂʲôÊÇSql¡¡For¡¡Xml°É£¬ÎÒÃÇ´ó¶àʱºò¶¼»áÓÐÕâÖÖÇé¿ö£¬Ïë°Ñ±íÀïµÄÊý¾Ýת»¯³ÉXml¸ñʽµÄ£¬Í¨³£ÎÒÃÇ»áʹÓÃc#»òÊÇVb³ÌÐòÀ´×ª¹«£¬Ê¹ÓÃXpath»òÊÇXmlDocumentµÈ¶ÔÏóÀ´Íê³É£¬µ±È»ÕâÑùÊÇ¿ÉÒԵ쬲»¹ýÕâÑù´¦ÀíÆðÀ´¾Í»á³öÏֺܶàÎÊÌ⣬±ÈÈç˵Êý¾Ý¿â±ä»¯£¬Èç¹ûÖ»ÓÐÊý¾Ý±ä»¯ÄÇ·½±ã£¬Ð´Ò»¸öͨÓõÄÀ࣬ÿ´Î²éѯǰ¸üÐÂXmlÎļþ¾Í¿ÉÒÔÁË£¬µ«Èç¹û³öÏÖÊý¾Ý¿â½á¹¹µÄ±ä»¯¾Í»áºÜ³ÔÁ¦ÁË£¬ÄÇôÓÐûÓÐÒ»ÖÖ·½·¨£¬°ÑÊý¾ÝÔÚµ÷³öÊý¾Ý¿â֮ǰ¾Íת»¯ÎªXmlµÄÄØ£¬Õâ¸öÊǵ±È»µÄ£¬¾ÍÊÇÎÒÃǵÄFor¡¡Xml£¬´ó¼ÒÔÚ²éѯ·ÖÎöÆ÷Àï×ö±í½á¹û²éѯµÄʱºòÒ»°ãÊÇÕâÑùдµÄ
ÎÒÃǸø´ó¼ÒչʾһÏÂÎÒËùÓõ½µÄÁ½¸ö±í°É
µÚÒ»¸ö±í°à¼¶ÐÅÏ¢±íClassInfo£¨°à¼¶ÐÅÏ¢±íÒ»¹²Èý¸ö×Ö¶ÎCID ±¾±íID,Cnumber °à¼¶ÈËÊý,CName °à¼¶Ãû³Æ£©
µÚ¶þ¸ö±í ÉúÐÅÏ¢±í Students £¨CID °à¼ ......
ºÜ¶àÈ˶ÔXpath¿ÉÄܱȽÏÊìϤ£¬µ«²»ÖªµÀÓÐûÓÐÖ±½Ó²Ù×÷¹ýÊý¾Ý¿â£¬ÎÒÃǶ¼ÖªµÀ ÔÚSql2005À﹫֧³ÖµÄ¼¸ÖÖ²éѯÓÐRaw£¬Auto£¬PathģʽµÈ£¬Èç¹ûÔÚ2000ÀïʹÓùý PathģʽµÄÅóÓÑÓ¦¸ÃÖªµÀ£¬ÊDz»ÈÝÒ×´¦Àí²éѯ½á¹ûµÄ£¬ÄÇôÔÚ2005Àï¶ÔÕâÒ»¿é×öÁ˺ܺõÄÌáÉý
ÎÒÏÈÀ´½éÉÜÒ»ÏÂʲôÊÇSql¡¡For¡¡Xml°É£¬ÎÒÃÇ´ó¶àʱºò¶¼»áÓÐÕâÖÖÇé¿ö£¬Ïë°Ñ±íÀïµÄÊý¾Ýת»¯³ÉXml¸ñʽµÄ£¬Í¨³£ÎÒÃÇ»áʹÓÃc#»òÊÇVb³ÌÐòÀ´×ª¹«£¬Ê¹ÓÃXpath»òÊÇXmlDocumentµÈ¶ÔÏóÀ´Íê³É£¬µ±È»ÕâÑùÊÇ¿ÉÒԵ쬲»¹ýÕâÑù´¦ÀíÆðÀ´¾Í»á³öÏֺܶàÎÊÌ⣬±ÈÈç˵Êý¾Ý¿â±ä»¯£¬Èç¹ûÖ»ÓÐÊý¾Ý±ä»¯ÄÇ·½±ã£¬Ð´Ò»¸öͨÓõÄÀ࣬ÿ´Î²éѯǰ¸üÐÂXmlÎļþ¾Í¿ÉÒÔÁË£¬µ«Èç¹û³öÏÖÊý¾Ý¿â½á¹¹µÄ±ä»¯¾Í»áºÜ³ÔÁ¦ÁË£¬ÄÇôÓÐûÓÐÒ»ÖÖ·½·¨£¬°ÑÊý¾ÝÔÚµ÷³öÊý¾Ý¿â֮ǰ¾Íת»¯ÎªXmlµÄÄØ£¬Õâ¸öÊǵ±È»µÄ£¬¾ÍÊÇÎÒÃǵÄFor¡¡Xml£¬´ó¼ÒÔÚ²éѯ·ÖÎöÆ÷Àï×ö±í½á¹û²éѯµÄʱºòÒ»°ãÊÇÕâÑùдµÄ
ÎÒÃǸø´ó¼ÒչʾһÏÂÎÒËùÓõ½µÄÁ½¸ö±í°É
µÚÒ»¸ö±í°à¼¶ÐÅÏ¢±íClassInfo£¨°à¼¶ÐÅÏ¢±íÒ»¹²Èý¸ö×Ö¶ÎCID ±¾±íID,Cnumber °à¼¶ÈËÊý,CName °à¼¶Ãû³Æ£©
µÚ¶þ¸ö±í ÉúÐÅÏ¢±í Students £¨CID °à¼ ......
Èç¹ûSQL Server³ÌÐòÔ±Ï뽫±í´ïʽ´ÓÒ»ÖÖ»»ÎªÁíÒ»ÖÖ£¬Ëû¿ÉÒÔ´ÓSQL Server 7ºÍ2000ÖÐ×Ô´øµÄÁ½ÖÖ¹¦ÄÜÖÐ×ö³öÑ¡Ôñ¡£ÔÚ´æ´¢¹ý³Ì»òÆäËûÇé¿öÏ£¬ÎÒÃdz£³£ÐèÒª½«Êý¾Ý´ÓdatetimeÐÍת»¯³ÉvarcharÐÍ£»CONVERTºÍCAST¾Í¿ÉÒÔÓÃÓÚÕâÖÖÇé¿ö¡£
¡¡¡¡ÓÉÓÚSQL ServerÌṩÁ½ÖÖ¹¦ÄÜ£¬Òò´ËÓ¦¸ÃÑ¡ÔñÄÄÖÖ¹¦ÄÜ»òÓ¦¸ÃÔÚÄÄÖÖÇé¿öÏÂʹÓøù¦ÄܾͺÜÈÝÒ×ÈÃÈËÀ§»óÁË¡£CONVERTÊÇר¶ÔSQL ServerʹÓõģ¬Ê¹ÈÕÆÚÓëʱ¼äÖµ£¬Ð¡ÊýÖ®¼äת»»¾ßÓиü¿íµÄÁé»îÐÔ¡£
¡¡¡¡CASTÊÇÁ½ÖÖ¹¦ÄÜÖиü¾ßANSI±ê×¼µÄ¹¦ÄÜ£¬¼´ËäÈ»¸ü¾ß±ãЯÐÔ£¨±ÈÈ磬ʹÓÃCASTµÄº¯ÊýÄܸüÈÝÒ׵ı»ÆäËüÊý¾Ý¿âÈí¼þʹÓã©£¬µ«¹¦ÄÜÏà¶ÔÈõһЩ¡£²»¹ý£¬µ±Ð¡Êýת»¯ÎªÊýÖµ£¬²¢±£ÁôÔʼ±í´ïʽÖеÄСÊýÊýֵʱ£¬ÈÔÈ»ÐèҪʹÓÃCAST¡£Òò´Ë£¬ÎÒ½¨ÒéÊ×ÏÈʹÓÃCAST£¬Èç¹ûÓöµ½±ØÐëʹÓÃCONVERTµÄÇé¿öʱÔÙʹÓÃCONVERT¡£
¡¡¡¡CASTºÍCONVERT»¹ÄÜÁªºÏʹÓã¬´ïµ½ÌØÊâµÄЧ¹û¡£±ÈÈ磬ÔÚcurrent dateÏÂÉú³Échar±äÁ¿Ò»°ãʹÓÃÒÔÏ·½·¨£º
¡¡¡¡SELECT CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102£©
¡¡¡¡£¨102±íÃ÷ʹÓÃÁËANSIÈÕÆÚģʽ£¬¼´yy.mm.ddÐÍ£©
¡¡¡¡È»¶ø£¬Èç¹ûÄãÏ£Íû½«Õâ¸ö±äÁ¿Ã÷È·Éú³ÉΪdatetime»òsmalldatetime±äÁ¿£¬ÒÔ´ËÔÚÌØ¶¨µÄÊý¾Ý¿âÀ¸ÖмæÈÝ£¬ÄÇôÄã¿ÉÒÔʹÓÃÒÔÏÂÓï¾ä£º
......
Sql Server ÖÐÒ»¸ö·Ç³£Ç¿´óµÄÈÕÆÚ¸ñʽ»¯º¯Êý
--
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(10 ......
ÒÔÏÂÊǵÚһƪ£º
/*--±È½ÏÁ½¸öÊý¾Ý¿âµÄ±í½á¹¹²îÒì
--*/
/*--µ÷ÓÃʾÀý
exec p_comparestructure 'xzkh_model','xzkh_new'
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_comparestructure]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_comparestructure]
GO
create proc p_comparestructure
@dbname1 varchar(250), --Òª±È½ÏµÄÊý¾Ý¿âÃû1
@dbname2 varchar(250) --Òª±È½ÏµÄÊý¾Ý¿âÃû2
as
create table #tb1(±íÃû1 varchar(250),×Ö¶ÎÃû varchar(250),ÐòºÅ int,±êʶ bit,Ö÷¼ü bit,ÀàÐÍ varchar(250),
Õ¼ÓÃ×Ö½ÚÊý int,³¤¶È int,СÊýλÊý int,ÔÊÐí¿Õ bit,ĬÈÏÖµ varchar(500),×Ö¶Î˵Ã÷ varchar(500))
create table #tb2(±íÃû2 varchar(250),×Ö¶ÎÃû varchar(250),ÐòºÅ int,±êʶ bit,Ö÷¼ü bit,ÀàÐÍ varchar(250),
Õ¼ÓÃ×Ö½ÚÊý int,³¤¶È int,СÊýλÊý int,ÔÊÐí¿Õ bit,ĬÈÏÖµ varchar(500),×Ö¶Î˵Ã÷ varchar(500))
--µÃµ½Êý¾Ý¿â1µÄ½á¹¹
exec('insert into #tb1 SELECT
±íÃû=d.name,×Ö¶ÎÃû=a.name,ÐòºÅ=a.colid,
±êʶ=case when a.status=0x80 then 1 else 0 end,
Ö÷¼ü=case when exists(SELECT 1 from ......
½ñÌì·¢ÏÖÔÚʹÓÃPL/SQLʱ£¬ÎÞ·¨µÇ½¡£¾¹ýȺÀïÅóÓѵİïæ£¬×îºóÔ²Âú½â¾ö£¬ÏÖÁô¸ö¼Ç¼ÒÔ±ãÒÔºó¿É²é¡£
<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@ËÎÌå";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:ËÎÌå;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no; ......