sqlÒ»¸ö×Ö¶ÎÄÚÈݲð·ÖÎÊÌâ - MS-SQL Server / »ù´¡Àà
¸÷λ¸ßÊÖ£º×Éѯ¸ösqlÓï¾ä£ºÓиö±íÖУ¬Ò»¸ö×Ö¶ÎÀïÃæ×°ÓÐÕâЩÄÚÈÝ£¬
×Ö¶ÎÃû£º sumall
×Ö¶ÎÄÚÈÝ£º [»ã×Ü1001:30,1002:10,3001:15,4010:100,5006:1,6021:1000]
ÎÒÏë²ð·ÖΪ£º
mx sl
1001 30
1002 10
3001 15
4010 100
5006 1
6021 1000
ÕâÑùµÄsqlÔõôд£¿
×Ö¶ÎÄÚÈÝÖаüº¬µÄÓÐÖÐÀ¨ºÅµÄ [] Ò²ÊÇ×Ö¶ÎÄÚÈݵÄÒ»²¿·Ö
SQL code:
declare @t table(sumall nvarchar(200))
insert @t select N'[»ã×Ü1001:30,1002:10,3001:15,4010:100,5006:1,6021:1000]'
;with sql_sf
as
(SELECT
sumall=SUBSTRING(replace(replace(a.sumall,N'[»ã×Ü',''),']',''),number,CHARINDEX(',',a.sumall+',',number)-b.number)
from @t a
JOIN master..spt_values b
ON b.type='p'
AND CHARINDEX(',',','+a.sumall,number)=number)
select left(sumall,charindex(':',sumall)-1)mx,
right(sumall,len(sumall)-charindex(':',sumall))sl
from sql_sf
SQL code:
CREATE FUNCTION f_splitSTR(
@s varchar(8000), --´ý·Ö²ðµÄ×Ö·û´®
@split varchar(10) --Êý¾Ý·Ö¸ô·û
)RETURNS @re TABLE(col varchar(100))
AS
BEGIN
DECLARE @splitlen int
SET @splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@spli
Ïà¹ØÎÊ´ð£º
´ÓÊý¾Ý¿âÖвéѯһÕűíµÄÊý¾Ý
select ²¿ÃÅ,ÐÕÃû from tb
ÈçºÎ²ÅÄÜÉú³ÉÏÂÃæµÄxml¸ñʽ
XML code:
<folder state="unchecked" label="È«²¿">
¡¡¡¡ <folder state="unchecked&qu ......
sqlµÄÈí¼þÔÚÄÄÀï¿ÉÒÔϰ¡£¡ÔÚÍøÉÏÕÒÁËÂù¶à¶¼Óò»Á˰¡
Ëæ±ã¸ãÒ»D°æ°É£¬
ѸÀ×µÚÒ»¸ö¾Í¿ÉÒÔÓÃ
2000,2005¶¼ÕâÑù
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......
²éѯѧÉúƽ¾ù³É¼¨¼°ÆäÃû´Î
SELECT 1+(SELECT COUNT( distinct ƽ¾ù³É¼¨)
from (SELECT S#,AVG(score) AS ƽ¾ù³É¼¨
from SC&n ......
ÕâÀïÏëÁ˽âÏ£¬¹ØÓÚSQL ServerÖзÖÒ³ºÍOracleÖзÖÒ³£»
ƽ³£Ð´Ó¦ÓóÌÐòµÄʱºò£¬±ÈÈçÓõÄÓïÑÔÊÇJava£¬ÓиöÁбíÒ³Ãæ£¬ÐèÒª¶ÔÊý¾Ý·ÖÒ³ÏÔʾ£»
ÕâÀïÒª·ÖÒ³ÄѵÀ²»ÐèÒª½èÖúJava£¬¶øÖ±½ÓsqlÄÜÖªµÀ·ÖÒ³Âð£¬ÆðÂëÒ²Òª´«¸öÒ³Âë½ ......