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£©Ñ¡Ôñ×óÉϽǵÄÑ¡Ïî
ÔÚ»¹ÔÑ ......
ÔÚSQL Server ÖвåÈëÒ»ÌõÊý¾ÝʹÓÃInsertÓï¾ä£¬µ«ÊÇÈç¹ûÏëÒªÅúÁ¿²åÈëÒ»¶ÑÊý¾ÝµÄ»°£¬Ñ»·Ê¹ÓÃInsert²»½öЧÂʵͣ¬¶øÇһᵼÖÂSQLһϵͳÐÔÄÜÎÊÌâ¡£ÏÂÃæ½éÉÜSQL ServerÖ§³ÖµÄÁ½ÖÖÅúÁ¿Êý¾Ý²åÈë·½·¨£ºBulkºÍ±íÖµ²ÎÊý(Table-Valued Parameters)¡£
ÔËÐÐÏÂÃæµÄ½Å±¾£¬½¨Á¢²âÊÔÊý¾Ý¿âºÍ±íÖµ²ÎÊý¡£
´úÂëÈçÏÂ:
--Create D ......
create proc P_QuerySplit
@sqlscript varchar(20), --±íÃû/SQLÓï¾ä
@pageSize int, --ÿҳ¼Ç¼Êý
@pageIndex int, &nbs ......
MySQL:
SELECT column from table
ORDER BY RAND()
LIMIT 1
PostgreSQL:
SELECT column from table
ORDER BY RANDOM()
LIMIT 1
Microsoft SQL Server:
SELECT TOP 1 column from table
ORDER BY NEWID()
IBM DB2
SELECT column, RAND() as IDX
from table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Thanks Ti ......
/*
sql xml ÈëÃÅ:
--by jinjazz
--http://blog.csdn.net/jinjazz
1¡¢xml: ÄÜÈÏÊ¶ÔªËØ¡¢ÊôÐÔºÍÖµ
2¡¢xpath: ѰַÓïÑÔ£¬ ......