84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
如何用sql语句,判断数据库中某字段的内容,包含于某字符串?也就是属于某字符串的子串? 比如数据库中某字段内容为“张三”,某字符串是“张三是好人”,则符合条件, 如果数据库中某字段内容为“张三”,某字符串是“张”,则不符合条件,
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
select * from table t where t.a like '%'||t.b||'%'; select * from table t where t.a like '%'||var||'%'
(PL/SQL, 字段a和b要求必须是字符串类型, var为程序中的字符串变量,或者更精确的匹配可以用正则,不过方法相同都是通过字符串拼接)
where "%张三% like column_name
sry 上面这个写反了,应该是下面这样,如果不是mysql,拼接的方法可能不一样。
where '张三' like concat('%', column_name, '%')
SELECT * FROM aaa where instr('$var',aaa.city)
aaa
这是我从网上找到的,发现可以用。
select * from [表名] where [字段] like '%张三%';
用一个concat函数吧,可以将你要匹配的变量弄成一个类似正则表达式的东西,来举栗子:表user中有俩字段,一个叫username,一个叫password,假如你先在要找到password中包含username的行,可以这样写:
select username,password from user where password like concat('%',username,'%');
(PL/SQL, 字段a和b要求必须是字符串类型, var为程序中的字符串变量,或者更精确的匹配可以用正则,不过方法相同都是通过字符串拼接)
sry 上面这个写反了,应该是下面这样,如果不是mysql,拼接的方法可能不一样。
SELECT *
FROM
aaa
where instr('$var',aaa.city)
这是我从网上找到的,发现可以用。
用一个concat函数吧,可以将你要匹配的变量弄成一个类似正则表达式的东西,来举栗子:表user中有俩字段,一个叫username,一个叫password,假如你先在要找到password中包含username的行,可以这样写: