ÏÖÔںܶàÍøÕ¾¶¼ÌṩÁËÕ¾ÄÚµÄËÑË÷¹¦ÄÜ£¬Óеĺܼòµ¥ÔÚSQLÓï¾äÀï¼ÓÒ»¸öÌõ¼þÈ磺where names like ¡®%words%¡¯¾Í¿ÉÒÔʵÏÖ×î»ù±¾µÄËÑË÷ÁË¡£
ÎÒÃÇÀ´¿´¿´¹¦ÄÜÇ¿´óÒ»µã£¬¸´ÔÓÒ»µãµÄËÑË÷ÊÇÈçºÎʵÏֵģ¨ÔÚSQL¡¡£Ó£Å£Ò£Ö£Å£Ò£²£°£°£¯£²£°£°£µÍ¨¹ý´æ´¢¹ý³ÌʵÏÖËÑË÷Ëã·¨£©¡£
ÎÒÃǰÑÓû§µÄËÑË÷¿ÉÒÔ·ÖΪÒÔÏÂÁ½ÖÖ£º
1.¾«È·ËÑË÷,¾ÍÊǰÑÓû§ÊäÈëµÄ¸÷¸ö´ÊÓïµ±³ÉÒ»¸öÕûÌå,²»·Ö¸îËÑË÷.
2.Ïñ°Ù¶È,GOOGLEÒ»ÑùµÄ,°´¿Õ¸ñ°ÑÊäÈëµÄÿһ¸ö´Ê·ÖÀë,Ö»Òª°üº¬ÕâЩ´ÊÓï,¶ø²»¹Ü³öÏÖµÄ˳Ðò£¬³ÆÎªALL-word Search.
3.¶ÔÊäÈëµÄ´ÊÖ»ÒªÓÐÒ»¸ö³öÏÖ¾ÍΪƥÅä ³ÆÎªAny-word Search
Ò»¡¢¶ÔËÑË÷½á¹û½øÐÐÅÅÐòµÄËã·¨
ÔÚÇ°ÃæÌáµ½µÄLIKEÓï¾ä×î´óµÄÎÊÌâ¾ÍÊÇËÑË÷µÄ½á¹ûÊÇûÓо¹ýÅÅÐòµÄ,ÎÒÃDz»ÖªµÀ½á¹û³öÏÖÔÚµÄ˳ÐòÊÇÈçºÎµÄ,ÒòΪËüÊÇËæ»úµÄ¡£Ïñ°Ù¶È,GOOGLE¶¼»á¶Ô½á¹ûÓÃËã·¨½øÐÐÅÅÐòÔÙÏÔʾµÄ.ºÃÎÒÃÇÒ²À´½¨Á¢Ò»¸ö¼òµ¥µÄÅÅÐò·¨¡£Ò»¸öºÜ³£¼ûµÄËã·¨ÊǼÆËã¹Ø¼ü´ÊÔÚ±»ËÑË÷ÄÚÈÝÖгöÏֵĴÎÊý,´ÎÊý×î¶àµÄÅÅÔÚ½á¹ûµÄµÚһλ¡£ÎÒÃǵÄÊÇÔÚ´æ´¢¹ý³ÌÖÐʵÏÖÕâ¸öËã·¨µÄ£¬¶øÔڣӣѣÌSERVERÖÐûÓÐÌṩ¼ÆËã¹Ø¼ü´ÊÔÚ±»ËÑË÷ÄÚÈÝÖгöÏֵĴÎÊýÕâÑùµÄº¯Êý£¬ÎÒÃÇÒª×Ô¼ºÐ´Ò»¸öUDF£¨User-Defined Functions£©,UDFÊÇSQLSERVERµÄÄÚ²¿º¯Êý£¬¿ÉÒÔ±»´æ´¢¹ý³Ìµ÷ÓûòÕß±»ÆäËûUDFµ÷Ó᣺¯ÊýÈçÏ£º
1CREATE FUNCTION dbo.wordCount
2
3(@word VARCHAR(15),
4
5@Phrase VARCHAR(1000))
6
7RETURNS SMALLINT
8
9AS
10
11BEGIN
12
13/**//* Èç¹û@word »òÕß@Phrase Ϊ¿Õ·µ»Ø 0 */
14
15IF @word IS NULL OR @Phrase IS NULL RETURN 0
16
17/**//* @Biggerword ±È@word³¤Ò»¸ö×Ö·û */
18
19DECLARE @Biggerword VARCHAR(21)
20
21SELECT @Biggerword = @word + 'x'
22
23/**//*ÔÚ @PhraseÓÃ@BiggerwordÌæ»»@word */
24
25DECLARE @BiggerPhrase VARCHAR(2000)
26
27SELECT @BiggerPhrase = REPLACE (@Phrase, @word, @Biggerword)
28
29/**//* Ïà¼õ½á¹û¾ÍÊdzöÏֵĴÎÊýÁË */
30
31RETURN LEN(@BiggerPhrase) - LEN(@Phrase)
32
33END
34
ÒÔÉϾÍÊÇÕû¸öUDF£¬ËüÓÃÁËÒ»¸öºÜ¸ßЧµÄ·½·¨À´¼ÆËã¹Ø¼ü´Ê³öÏֵĴÎÊý¡£