declare @ip varchar(50)
set @ip='10.132.217.3'
select * from tb
where charindex(','+@ip+',',','+ip_address+',')>0
set @ip='10.132.217.3'
select * from tb
where charindex(','+@ip+',',','+ip_address+',')>0
解决方案 »
- 突发问题,求救!
- SQL语句如何写,大虾帮帮忙啊
- 请教一句SQL怎么写
- 后补表的字段为主键的问题!
- 关于视图
- 紧急求救:SQL Server2000的数据库怎么导入到SQLServer7.0 ???
- 关于排序的问题,很有意思的!
- collation转换问题-不使用odbc的自动转换功能,将latin_general_bin转换为unicode,or chinese_prc
- 求助 插入一张表数据中有需要从别的列截取 也有自己赋值的
- 请教下怎么把xml转换为表格
- 表中有一binary类别的字段,存有初始数据,现在导出到sql文本文件,做为安装时导入初始数据用,可导入一直出错在binary这个地方,如何解决?
- 小妹半夜发帖求好心人帮忙解决一个超难的数据库查询语句!肯定给分
DROP FUNCTION Split
GO
CREATE FUNCTION dbo.Split ( @ItemList NVARCHAR(4000), @delimiter CHAR(1) )
RETURNS @IDTable TABLE (Item VARCHAR(50))
AS
BEGIN
DECLARE @tempItemList NVARCHAR(4000) SET @tempItemList = @ItemList
DECLARE @i INT DECLARE @Item NVARCHAR(4000)
SET @tempItemList = REPLACE (@tempItemList, ' ', '')
SET @i = CHARINDEX(@delimiter, @tempItemList)
WHILE (LEN(@tempItemList) > 0)
BEGIN
IF @i = 0 SET @Item = @tempItemList
ELSE SET @Item = LEFT(@tempItemList, @i - 1)
INSERT INTO @IDTable(Item) VALUES(@Item)
IF @i = 0 SET @tempItemList = ''
ELSE SET @tempItemList = RIGHT(@tempItemList, LEN(@tempItemList) - @i)
SET @i = CHARINDEX(@delimiter, @tempItemList)
END RETURN
END GO
CREATE PROCEDURE USP_RetrieveInformationForSelected
@p_selected NVARCHAR(50)
AS
BEGIN
SELECT * FROM table1 WHERE "10.132.217.3" in (SELECT Item FROM split(@p_selected, ','))
END
我就要包含ip为10.132.217.3的记录,怎么包含,我不管,但是它的IP必须是10.132.217.3的
现在是查找
空+IP+空
,IP,
,ip
ip,
上面四中情况,
可以理解为
[,空]IP[,空]
如果再多一种情况怎么办呢.
[,空,1]IP[,空,1]
select * from table1 where IP_ADDRESS like '%10.132.217%' and IP_ADDRESS not like '%[0-9]'+'10.132.217.3%' and IP_ADDRESS not like '%10.132.217.3[0-9]%'