SQLServerÊý¾Ý¼¯ºÏµÄ½»¡¢²¢¡¢²î¼¯ÔËËã
SQLServer2005ͨ¹ýintersect,union,exceptºÍÈý¸ö¹Ø¼ü×Ö¶ÔÓ¦½»¡¢²¢¡¢²îÈýÖÖ¼¯ºÏÔËËã¡£
ËûÃǵĶÔÓ¦¹ØÏµ¿ÉÒԲο¼ÏÂÃæÍ¼Ê¾
Ïà¹Ø²âÊÔʵÀýÈçÏ£º
use tempdb
go
if (object_id ('t1' ) is not null ) drop table t1
if (object_id ('t2' ) is not null ) drop table t2
go
create table t1 (a int )
insert into t1 select 1 union select 2 union select 3
create table t2 (a int )
insert into t2 select 3 union select 4 union select 5
go
select * from t1 union select * from t2
go
/* Çó±í²¢¼¯
1
2
3
4
5*/
select * from t1 union all select * from t2
go
/*Çó±í²¢¼¯²»¹ýÂËÖØ¸´
1
2
3
3
4
5*/
select * from t1 except select * from t2
go
/*Çót1¶Ôt2µÄ²î¼¯
1
2*/
select * from t1 intersect select * from t2
go
/*Çót1¶Ôt2µÄ½»¼¯
3*/
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/jinjazz/archive/2009/09/07/4527863.aspx
Ïà¹ØÎĵµ£º
SQL Server 2005Êý¾Ý¿â±¸·ÝºÍ»Ö¸´ÌØÐÔ
SQL Server 2000ÖдæÔÚµÄÐí¶àµÄ±¸·ÝºÍ»Ö¸´ÌØÐÔ¶¼Í¬Ñù±£ÁôÔÚÁËSQL Server 2005ÖУ¬µ«ÊÇÓÐһЩеÄÌá¸ßͬÑùÖµµÃÎÒÃǹØ×¢¡£
¾µÏñ±¸·Ý
SQL Server 2005ÈÃÄã¿ÉÒÔ´´½¨¾µÏñ±¸·Ý¡£¾µÏñ±¸·ÝÔÊÐíÄãΪ±¸·ÝÎļþ´´½¨Á½¸ö»òÕßËĸöͬÑùµÄ¿½±´£¬ÒÔ·À±¸ÆäÖеÄijһ¸ö¼¯ºÏË𻵵ÄÇé¿ö¡£¾µÏñ¾ßÓ ......
SqlserverµÃµ½ºº×ÖÆ´ÒôÊ××Öĸ´æ´¢¹ý³Ì:
create function [dbo].[fun_getPY]
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--Èç¹û·Çºº×Ö×Ö·û£¬·µ»ØÔ×Ö·û
& ......
ÈçºÎÔÚÒ»¸öûÓÐÖ÷¼üµÄ±íÖлñÈ¡µÚnÐÐÊý¾Ý£¬ÔÚsql2005ÖпÉÒÔÓÃrow_number£¬µ«ÊDZØÐëÖ¸¶¨ÅÅÐòÁУ¬·ñÔòÄã¾Í²»µÃ²»ÓÃselect intoÀ´¹ý¶Éµ½ÁÙʱ±í²¢Ôö¼ÓÒ»¸öÅÅÐò×ֶΡ£
ÓÃÓαêµÄfetch absoluteÓï¾ä¿ÉÒÔ»ñÈ¡¾ø¶ÔÐÐÊýϵÄijÐÐÊý¾Ý,²âÊÔ´úÂëÈçÏÂ:
set nocount on
--½¨Á¢²âÊÔ»·¾³²¢²åÈëÊý¾Ý£¬²¢ÇÒ±íûÓÐÖ÷¼ü
create table t ......