select * from news where charindex('<',cast(content as varchar)) = 0 and charindex('/>',cast(content as varchar)) = 0这里用and还是or得看你自己的要求了.
PATINDEX 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。语法 PATINDEX ( '%pattern%' , expression ) 参数 pattern一个字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式。expression一个表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别。返回类型 int注释 PATINDEX 对 text 数据类型很有用;除 IS NULL、IS NOT NULL 和 LIKE(这些是 WHERE 子句中对 text 类型有效的仅有的其它比较运算)外,PATINDEX 也可用于 WHERE 子句中。如果 pattern 或 expression 为 NULL,则当数据库的兼容级别为 70 时 PATINDEX 返回 NULL;如果数据库兼容级别为 65 或更靠前,则仅当 pattern 和 expression 同时为 NULL 时,PATINDEX 返回 NULL。示例 A. 在 PATINDEX 中使用模式 本示例查找模式"wonderful"在 titles 表中 notes 列的某一特定行中的开始位置。USE pubs GO SELECT PATINDEX('%wonderful%', notes) FROM titles WHERE title_id = 'TC3218' GO下面是结果集:----------- 46 (1 row(s) affected)如果未通过 WHERE 子句限制要搜索的行,查询将返回表中的所有行,对在其中找到该模式的所有行报告非零值,对在其中未找到该模式的所有行报告零值。B. 在 PATINDEX 中使用通配符 本示例使用通配符查找模式"won_erful"在 titles 表中 notes 列的某一特定行中的开始位置,其中下划线为代表任何字符的通配符。USE pubs GO SELECT PATINDEX('%won_erful%', notes) FROM titles WHERE title_id = 'TC3218' GO下面是结果集:------------ 46(1 row(s) affected)
declare @t table (id varchar(20), COL1 int) insert into @t select 'aa',1 union all select 'as',2 union select 'as',3 union select 'a',4 select * from @t where patindex('%a%',id)>0 /* a 4 aa 1 as 2 as 3 */
按LZ的意思的话,应该是: select * from news where (charindex(' <',cast(content as varchar)) = 0) or (charindex('/>',cast(content as varchar)) = 0 )
select * from news where charindex('<',cast(content as varchar)) = 0 and charindex('/>',cast(content as varchar)) = 0这里用and还是or得看你自己的要求了.
PATINDEX
返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。语法
PATINDEX ( '%pattern%' , expression ) 参数
pattern一个字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式。expression一个表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别。返回类型
int注释
PATINDEX 对 text 数据类型很有用;除 IS NULL、IS NOT NULL 和 LIKE(这些是 WHERE 子句中对 text 类型有效的仅有的其它比较运算)外,PATINDEX 也可用于 WHERE 子句中。如果 pattern 或 expression 为 NULL,则当数据库的兼容级别为 70 时 PATINDEX 返回 NULL;如果数据库兼容级别为 65 或更靠前,则仅当 pattern 和 expression 同时为 NULL 时,PATINDEX 返回 NULL。示例
A. 在 PATINDEX 中使用模式
本示例查找模式"wonderful"在 titles 表中 notes 列的某一特定行中的开始位置。USE pubs
GO
SELECT PATINDEX('%wonderful%', notes)
FROM titles
WHERE title_id = 'TC3218'
GO下面是结果集:-----------
46 (1 row(s) affected)如果未通过 WHERE 子句限制要搜索的行,查询将返回表中的所有行,对在其中找到该模式的所有行报告非零值,对在其中未找到该模式的所有行报告零值。B. 在 PATINDEX 中使用通配符
本示例使用通配符查找模式"won_erful"在 titles 表中 notes 列的某一特定行中的开始位置,其中下划线为代表任何字符的通配符。USE pubs
GO
SELECT PATINDEX('%won_erful%', notes)
FROM titles
WHERE title_id = 'TC3218'
GO下面是结果集:------------
46(1 row(s) affected)
declare @t table (id varchar(20), COL1 int)
insert into @t select 'aa',1 union all select 'as',2 union select 'as',3 union select 'a',4
select * from @t where patindex('%a%',id)>0
/*
a 4
aa 1
as 2
as 3
*/
select * from news where (charindex(' <',cast(content as varchar)) = 0) or (charindex('/>',cast(content as varchar)) = 0 )