我有一个表planamdin:city county retwo
xx yy Y0268952
xx1 yy1 Y8232041、z085621、u586622
xx2 yy2 w0230456、p255621、q896221我现在输入一个值@value = z085621,怎样通过sql语句能在表中查出所有有@value = z085621值得记录项呢??望指教
xx yy Y0268952
xx1 yy1 Y8232041、z085621、u586622
xx2 yy2 w0230456、p255621、q896221我现在输入一个值@value = z085621,怎样通过sql语句能在表中查出所有有@value = z085621值得记录项呢??望指教
select * from planamdin where retwo like '%z085621%'
from planamdin
where retwo like '%z085621、' or retwo like '%、z085621、%' or retwo like '%、z085621%'
INSERT planamdin SELECT 'xx' , 'yy' , 'Y0268952'
INSERT planamdin SELECT 'xx1' , 'yy1' , 'Y8232041、z085621、u586622'
INSERT planamdin SELECT 'xx2', 'yy2' , 'w0230456、p255621、q896221'
DECLARE @S VARCHAR(10)
SET @S='z085621'
SELECT * FROM planamdin WHERE CHARINDEX('、'+@S+'、',retwo)>0
DROP TABLE planamdin
/*city county retwo
---------- ---------- --------------------------------------------------
xx1 yy1 Y8232041、z085621、u586622
*/
支持2楼
select *
from planamdin
where retwo='z085621'
or
retwo like '%z085621、' or retwo like '%、z085621、%' or retwo like '%、z085621%'
INSERT #planamdin SELECT 'xx','yy','Y0268952'
INSERT #planamdin SELECT 'xx1','yy1','Y8232041、z085621、u586622'
INSERT #planamdin SELECT 'xx2','yy2','w0230456、p255621、q896221'
select * from #planamdin where charindex('z085621、',retwo)>0
city county retwo
---------- ---------- --------------------------------------------------
xx1 yy1 Y8232041、z085621、u586622(1 行受影响)
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX (<’substring_expression’>, <expression>)
其中substring _expression 是所要查找的字符表达式,expression
可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。select charindex('ea','abcdeabcd')结果5