SQLServerÖеÄScanfºÍPrintf ÊÕ²Ø
SQLServerÖÐÓÐÁ½¸öÀ©Õ¹´æ´¢¹ý³ÌʵÏÖScanfºÍPrintf¹¦ÄÜ£¬Ç¡µ±µÄʹÓÃËüÃÇ¿ÉÒÔÔÚÌáÈ¡ºÍÆ´½Ó×Ö·û´®Ê±´ó·ù¶È¼ò»¯SQL´úÂë¡£
1¡¢xp_sscanf£¬ÓÃËü¿ÉÒÔ·Ö½â¸ñʽÏà¶Ô¹Ì¶¨µÄ×Ö·û´®£¬Õâ¶ÔÓÚÑá¾ëʹÓÃÒ»¶ÑsubstringºÍcharindexµÄÅóÓÑÀ´Ëµ²»´í¡£±ÈÈçǰ¼¸ÌìµÄÒ»¸öÌû×ÓÖÐÌá³öµÄÈçºÎ·Ö½âipµØÖ·£¬Ïà¶Ô¼òÁ·ÇÒͨÓõĴúÂëÓ¦¸ÃÊÇÏÂÃæÕâÑù
--------------------------------------------------------------------------------
if (object_id ('f_getip' ) is not null )
drop function f_getip
go
create function dbo . f_getip (@ ip varchar (100 ))
returns @ t table (a int , b int , c int , d int )
as
begin
set @ ip = replace (@ ip , '.' , ' ' )
declare
@ s1 varchar (3 ) , @ s2 varchar (3 ),
@ s3 varchar (3 ) , @ s4 varchar (3 )
exec xp_sscanf @ ip , '%s %s %s %s' , @ s1 output , @ s2 output , @ s3 output , @ s4 output
insert into @ t select @ s1 , @ s2 , @ s3 , @ s4
return
end
go
select * from dbo . f_getip ('192.168.0.1' )
go
/*
a b c d
----------- ----------- ----------- -----------
192 168 0 1
*/
2¡¢xp_sprintf£¬ÓÃËü¿ÉÒÔÆ´½Ó³öÒ»¸ö×Ö·û´®¶ø²»Óõ£ÐĹý¶àµÄ¼ÓºÅºÜÒýºÅÄÑÒÔ¿ØÖÆ£¬±ÈÈçÒ»¸ö¶¯Ì¬Ö´ÐÐsqlÓï¾äµÄ´æ´¢¹ý³Ì
if (object_id ('p_select' ) is not null )
drop proc p_select
go
create proc p_select (@ tb varchar (100 ), @ cols varchar (100 ), @ wherecol varchar (100 ), @ value varchar (100 ))
as
begin
declare @ s varchar (8000 )
exec xp_sprintf @ s output , 'select %s from %s where %s=''%s''' , @ cols , @ tb , @ wherecol , @ value
exec (@ s)
end
go
exec p_selec
Ïà¹ØÎĵµ£º
1£©Ð½¨Êý¾Ý¿âRESTORE
2£©ÔÚ¸ÃÊý¾Ý¿âÉÏÑ¡Ôñ£ºÈÎÎñ->»¹Ô->Êý¾Ý¿â
3£©ÔÚ»¹ÔÊý¾Ý¿â-RESTOREµÄ¶Ô»°¿òÖÐ
Ä¿±êÊý¾Ý¿âÊÇRESTORE
Ö¸¶¨ÓÃÓÚ»¹ÔµÄ±¸·Ý¼¯µÄÔ´ºÍλÖÃ->Ô´É豸->Ñ¡Ôñ×îºóÒ»¸öÍêÈ«µÄ±¸·ÝBAKÎļþ
¹´Öл¹ÔCheckBox
4£©Ñ¡Ôñ×óÉϽǵÄÑ¡Ïî
ÔÚ»¹ÔÑ ......
select
convert(char(4),auth,120)+'Äê'+
substring(convert(char(10),auth,120),6,2)+'ÔÂ'+
substring(convert(char(10),auth,120),9,2)+'ÈÕ',
convert(char(4),appr,120)+'Äê'+
substring(convert(char(10),appr,120),6,2)+'ÔÂ'+
substring(convert(char(10),appr,120),9,2)+'ÈÕ'
from a
ÒÔÉÏ´úÂëʵÏֵĹ¦Ä ......
SQL SERVERÊý¾Ý¿â¿ª·¢µÄ¶þʮһÌõ¾ü¹æ
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»»ùÓÚSQL SERVER µÄÏîÄ¿£¬»òÕ߸ոսӴ¥SQL SERVER£¬Äã¿ÉÄܽ«ÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌâ¡£ÕâÆªÎÄÕ»áÌṩһЩÓÐÓõľÑé-----¹ØÓÚÈçºÎÐγɺõÄÉè¼Æ¡£
Ò»¡¢Á˽âÄãÓõŤ¾ß
²»ÒªÇáÊÓÕâÒ»µã£¬ÕâÊDZ¾ÎÄ×î¹Ø¼üµÄÒ»Ìõ¡£Ò²ÐíÄãÒ²¿´µ½ÓкܶàµÄSQL SERVER³ÌÐòԱûÓÐÕÆÎÕÈ«²¿µÄT- ......
sqlserver2005Óйؼü×Öntile(x)ºÍover(partition by.. order by..)×Ó¾äÅäºÏ.
±ÈÈç»ñȡÿ¸ö±íµÄǰ10%¸ö×ֶΡ£
select id , name , colid , rn from (
select * , rn = ntile (10 )
over (partition by id order by colorder )
from syscolumns )t where rn = 1 ......