SQL·Ö¸î¶ººÅµÄº¯ÊýºÍÓ÷¨
ÔÚ³ÌÐòÖÐÎÒÃÇ¿ÉÄܾ³£»áÓöµ½ÕâÖÖÇé¿ö£¬±ÈÈçҪȡһ¸ölistboxÀïÃæµÄÑ¡ÔñÏµÃµ½µÄ½á¹û¿ÉÄÜÊÇstring ID="id1,id2,id3,id4",È»ºóÎÒÃÇÒª°ÑÕâЩID²åÈëµ½Êý¾Ý¿âÖУ¬Í¬Ê±Ã¿¸öid¶ÔÓ¦µÄÊÇÒª²åÈëÒ»Ìõ¼Ç¼¡£ÊµÏֵķ½·¨Óкܶ࣬µ«ÊÇÈç¹ûÎÒÃÇͨ¹ýÏÂÃæÕâ¸öº¯Êý£¨RecurrentSplit£©¾ÍÄܼòµ¥µÄ´ïµ½ÉÏÊöЧ¹û¡£RecurrentSplitµÄʹÓÃÒ²·Ç³£¼òµ¥¡£
ÀýÈ磺
select row_number()over(order by indexno desc) as seq ,* from recurrentsplit('1,2,3,4,5,',',',0,0)
ÕâÑùÎÒÃǾͻá·Ö³É5Ìõ¼Ç¼£¬ÒòΪÎÒµÄÒªÇóÊÇÒ»¸ölistboxÖÐitem[i]ÆäÖÐ×îСµÄ˵Ã÷ËûµÄÅÅÐòÔÚ×îǰͷ£¬Í¬Ê±ÅÅÐòÊǵ«SEQµÄ½µÐòÅÅÁС£ËùÒÔÔÚÕâ¸ö²éѯÖÐÎÒÓÃrow_number()over(order by indexno desc) as seqµÃ³öÁËËûµÄ˳ÐòºÅ
ÈçÏÂ
seq indexno SplitName
1 4 5
2 3 4
3 2 3
4 1 2
5 0 1
È»ºó¾ÍÊǶÔÕâ¸ö½á¹û½øÐвÙ×÷¿©
Èç
--ÉèÖÃÑ¡ÔñÉÌÆ·ÎªÍƼö²¢°´´«ÈëµÄ½µÐò½«ÉÌÆ·ÍƼöÅÅÐò
update zp_auction_mst
set ishot=1,hotseq = b.seq
from zp_auction_mst a,
(select row_number()over(order by indexno desc) as seq ,* from recurrentsplit(@AuctionID,',',0,0)) as b
where a.auctionid= b.splitName
¸ã¶¨£¬¾ÍÊÇÕâô¼òµ¥ÁË¡£¡£¡£¡£
CREATE FUNCTION [dbo].[RecurrentSplit]
(
@nvStr nvarchar(2000) --ÐèÒª·Ö¸î×Ö·û´®
,@vSeparte varchar(50) --·Ö¸î×Ö·û´®
,@iIsHaveSeparte int --ÊÇ·ñÏÔʾ×Ö·û´®
,@iIsBefore int --ÊÇ·ñÊǺóÃæµÄ·Ö¸î·û£¨·Ö¸î×Ö·û·Ö¸îµÄ˳Ðò£©
)
RETURNS @Split table
(
Ind
Ïà¹ØÎĵµ£º
declare @XML XML
SET @XML='<root>
<OLDVALUE>
<H_Action id="1130">030</H_Action>
<D_Action>030</D_Action>
<OrderCompany>00220</OrderCompany>
<OrderNumber>10004035</OrderNumber> ......
Ò», °²×° unixODBC
ÏÂÔØ°²×°°ü. ÔÚ RedHat °²×°¹âÅÌÉϾÍÓÐ
unixODBC-2.2.11-1.RHEL4.1.i386.rpm
unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
unixODBC-kde-2.2.11-1.RHEL4.1.i386.rpm
°²×°
rpm -Uvh unixODBC-2.2.11-1.RHEL4.1.i386.rpm
rpm -Uvh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
Èç¹û°²×°ÖÐÌáʾÓÐ¶ÔÆäË ......
/*
* Source URL: http://jonsion.javaeye.com/blog/511584
*/
1. »ñÈ¡ËùÓÐÊý¾Ý¿âÃû
1> SELECT name from master..sysdatabases;
2> go
2. »ñÈ¡ËùÓбíÃû
1> USE master
2> go
1> SELECT name from sysobjects WHERE type='U';
2> go
3. »ñÈ¡ËùÓÐ×Ö¶ÎÃû
1> SELECT name ......
¶ÔÕâ¸ö½øÐÐÓÅ»¯
select n5001 Ãŵê,n5002 ²¿ÃÅ,n5004 С·ÖÀà,n5019 ÉÌÆ·±àÂë,c01d21 ÉÌÆ·Ãû³Æ,
nvl(xse,0)-nvl(dzxs,0) ÏúÊÛ,
mle ëÀû,
nvl(xl,0)-nvl(dzsl,0) ÏúÁ¿
from
(select n5001,n5002,n5004,n5019,sum(n5011) xse,sum(n5016) mle,sum(n5023) xl
from n50
where to_char(n5010,'yyyymmdd')>='20 ......