SQL IP to BigInt
ǰһƪ²©¿Í IP to Integer ÌṩµÄ SQL º¯ÊýÊÇ IP ת»»³É Integer µÄ·½·¨¡£ Integer µÄ×î´óֵΪ£º 2147483647£¨2^31 - 1£©¡£°´ÕÕ IP ת»»³ÉÕûÊýµÄËã·¨£¬»áËã³öÀ´´óÓÚÕâ¸öÖµµÄ£¬ËùÒÔ֮ǰÌṩµÄ IP ת»»³É Integer µÄ·½·¨»áËã³ö¸ºÖµ¡£ ÏÂÃæÊÇ IP to BigInt µÄת»»Ëã·¨£¬ ÕâʱºòÔËËã¾Í²»»áСÓÚÁã¡£
CREATE FUNCTION dbo.ipStringToBigInt
(
@ip CHAR(15)
)
RETURNS bigint
AS
BEGIN
DECLARE @rv bigint,
@o1 bigint,
@o2 INT,
@o3 INT,
@o4 INT
SELECT
@o1 = CONVERT(INT, PARSENAME(@ip, 4)),
@o2 = CONVERT(INT, PARSENAME(@ip, 3)),
@o3 = CONVERT(INT, PARSENAME(@ip, 2)),
@o4 = CONVERT(INT, PARSENAME(@ip, 1))
IF (@o1 BETWEEN 0 AND 255)
AND (@o2 BETWEEN 0 AND 255)
AND (@o3 BETWEEN 0 AND 255)
AND (@o4 BETWEEN 0 AND 255)
BEGIN
SET @rv = (@o1 * 16777216) +
(@o2 * 65536) +
(@o3 * 256) +
(@o4)
END
ELSE
SET @rv = -1
RETURN @rv
END
go
CREATE FUNCTION dbo.ipBigIntToString
(
@ip bigint
)
RETURNS CHAR(15)
AS
BEGIN
DECLARE @o1 INT,
@o2 INT,
@o3 INT,
@o4 INT
IF @ip > 4294967295 RETURN '255.255.255.255'
IF @ip
Ïà¹ØÎĵµ£º
Èç¹ûÏë²éÕÒ“_cs”½áβµÄµÄÕË»§
select * from [user] where loginname like '%_cs'ÊDz»Ðеģ¬_ ±»ÈÏΪÊÇÈÎÒâµÄ×Ö·û£¬
ËùÒÔÐèҪתÒå×Ö·û£¬ÓÐÁ½ÖÖд·¨£º
select * from [user] where loginname like '%[_]cs'
select * from [user] where loginname like '%/_cs' escape'/'
ͨÅä·ûº¬Òå
%
°üº¬Áã¸ö»ò¸ü¶à×Ö· ......
×Ö·û´®º¯Êý¶Ô¶þ½øÖÆÊý¾Ý¡¢×Ö·û´®ºÍ±í´ïʽִÐв»Í¬µÄÔËËã¡£´ËÀຯÊý×÷ÓÃÓÚCHAR¡¢
VARCHAR¡¢ BINARY¡¢ ºÍVARBINARY Êý¾ÝÀàÐÍÒÔ¼°¿ÉÒÔÒþʽת»»ÎªCHAR »òVARCHARµÄ
Êý¾ÝÀàÐÍ¡£¿ÉÒÔÔÚSELECT Óï¾äµÄSELECT ºÍWHERE ×Ó¾äÒÔ¼°±í´ïʽÖÐʹÓÃ×Ö·û´®º¯Êý¡£³£ÓõÄ
×Ö·û´®º¯ÊýÓУº
Ò»¡¢×Ö·ûת»»º¯Êý
1¡¢ASCII()
·µ»Ø×Ö·û±í´ïʽ×î×ó¶ ......
¡¡×Ô´ÓSQL Server 2005ÍÆ³öºó£¬ÒòΪÓÐÁ˸üºÃµÄÐÔÄÜ£¬ËùÒÔÓкܶàÓëSQL Server 2000Ïà¹ØµÄÓ¦ÓóÌÐòÐèÒªÉý¼¶µ½Õâ¸ö°æ±¾¡£µ«ÈçºÎ²ÅÄÜÒÔ×î¿ì×î·½±ãµÄ·½Ê½°ÑÆäÖеıí½á¹¹¼°¶ÔÓ¦µÄÊý¾ÝºÍÊý¾ÝµÄÆäËüµÄ¸ñʽµ¼Èëµ½SQL Server 2005ÄØ£¿SQL Server 2005µÄÊý¾ÝÓÖÈçºÎµ¼Èëµ½SQL Server 2000ÉÏ£¿ÎÒÃÇ·Ö±ðÀ´¿´ÏÂÃæÊµÏֵķ½Ê½£º
¡¡¡¡1) SQL ......
ÔÚSQL Server2005ÖÐÑ¡ÖÐÒªµ¼ÈëÊý¾ÝµÄ¿â > ÓÒ¼ü > н¨²éѯ£º
Ö´ÐÐSQLÓï¾äÈçÏ£º
insert into
Ä¿±êÊý¾Ý¿â±íÃû (×Ö¶Î1,×Ö¶Î2,....) select
×Ö¶Î1,×Ö¶Î2... from
openrowset
('microsoft.jet.oledb.4.0',';database=Ô´Êý¾Ý¿â·¾¶£¨È磺d:\test.mdb£©','select * from Ô´±í where ²éѯÌõ¼þ')
SQL Óï¾äÆôÓÃ×é¼ ......