查询显示
请问各位大虾
有没有这样的sql查询语句
比如说现在有张表:
id name sex
1 zhongsnajiushihaoshua 22
然后根据“name” 模糊查找“a”查询出来是这样的:
id name sex
1 snaji 22
也就是说显示“name”这行的时候只显示“a”前后两个字符,或者其他字符为省略号代替
有没有这样的sql查询语句
比如说现在有张表:
id name sex
1 zhongsnajiushihaoshua 22
然后根据“name” 模糊查找“a”查询出来是这样的:
id name sex
1 snaji 22
也就是说显示“name”这行的时候只显示“a”前后两个字符,或者其他字符为省略号代替
作者: qwrsfsdsf 发布时间: 2011-11-15
可以,首先使用LIKE来模糊匹配,然后将查询到的结果用字符串处理函数处理一下就okay了。
代码参考如下:
SQL code
where条件筛选满足条件的记录,字符a前后至少有2个字符
substr()函数,取子串。
instr()函数,返回name中字符a第一次出现的位置,+2,-2确定子串取的位置。
代码参考如下:
SQL code
SELECT SUBSTR(NAME,INSTR(NAME, 'a', 1, 1)- 2, INSTR(NAME, 'a', 1, 1)+ 2) FROM t1 WHERE NAME LIKE '%__a__%';
where条件筛选满足条件的记录,字符a前后至少有2个字符
substr()函数,取子串。
instr()函数,返回name中字符a第一次出现的位置,+2,-2确定子串取的位置。
作者: LuiseRADL 发布时间: 2011-11-15
SQL code
select id,regexp_substr(name,'((..)?|(.)?)a((..)?|(.)?)') name,sex from table1 where name like '%a%'
作者: tx2730 发布时间: 2011-11-15