sql – Postgres LIKE,列值为substring
发布时间:2020-12-12 06:26:23 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试编写一个WHERE语句,该语句将匹配列值是另一个字符串的子字符串的行. 例如,我可能有一个名为Edward Sharpe的事件记录.我想做的事情如下: SELECT * FROM events WHERE(name LIKE 'Edward Sharpe and the Magnetic Zeroes'); 这不起作用.我也有各种各
我正在尝试编写一个WHERE语句,该语句将匹配列值是另一个字符串的子字符串的行.
例如,我可能有一个名为Edward Sharpe的事件记录.我想做的事情如下: SELECT * FROM events WHERE(name LIKE 'Edward Sharpe and the Magnetic Zeroes'); 这不起作用.我也有各种各样的排列: SELECT * FROM events WHERE('%' || name || '%' LIKE 'Edward Sharpe and the Magnetic Zeroes'); 哪个也行不通. 解决方法你的第二次尝试非常接近正确.LIKE 关键字左侧是一个字符串,右侧是一个模式.两者都可以是表达式,但%只在右侧的模式中具有特殊含义.
试试这个: SELECT * FROM events WHERE name LIKE '%Edward Sharpe and the Magnetic Zeroes%'; 或者更确切地说: SELECT * FROM events WHERE 'Edward Sharpe and the Magnetic Zeroes' LIKE '%' || name || '%'; 另请注意,默认情况下,Postgres中的所有字符串操作都区分大小写.要匹配忽略大小写的模式,请使用ILIKE代替LIKE. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |