mysql - 如何用sql语句,判断数据库中某字段的内容,包含于某字符串?
高洛峰
高洛峰 2017-04-17 11:06:11
0
5
853

如何用sql语句,判断数据库中某字段的内容,包含于某字符串?也就是属于某字符串的子串?
比如数据库中某字段内容为“张三”,某字符串是“张三是好人”,则符合条件,
如果数据库中某字段内容为“张三”,某字符串是“张”,则不符合条件,

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(5)
黄舟
select * from table t where t.a like '%'||t.b||'%';
select * from table t where t.a like '%'||var||'%'

(PL/SQL, 字段a和b要求必须是字符串类型, var为程序中的字符串变量,或者更精确的匹配可以用正则,不过方法相同都是通过字符串拼接)

いいねを押す +0
大家讲道理
where "%张三% like column_name

sry 上面这个写反了,应该是下面这样,如果不是mysql,拼接的方法可能不一样。

where '张三' like concat('%', column_name, '%')
いいねを押す +0
左手右手慢动作

SELECT *
FROM aaa
where instr('$var',aaa.city)

这是我从网上找到的,发现可以用。

いいねを押す +0
伊谢尔伦
 select * from [表名] where [字段] like '%张三%';
いいねを押す +0
洪涛

用一个concat函数吧,可以将你要匹配的变量弄成一个类似正则表达式的东西,来举栗子:表user中有俩字段,一个叫username,一个叫password,假如你先在要找到password中包含username的行,可以这样写:

select username,password from user where password like concat('%',username,'%');
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!