table aa
id pid
01 00
02 00
0201 02
0203 02
020101 0201
020102 0201请问如何根据pid过滤id,根据pid 02位把所有id前2位为02的过滤出来,希望ORACLE和mysql版本的都有
id pid
01 00
02 00
0201 02
0203 02
020101 0201
020102 0201请问如何根据pid过滤id,根据pid 02位把所有id前2位为02的过滤出来,希望ORACLE和mysql版本的都有
好像是SUBSTR, LENGTHMysql里也有处理子串的函数
好像和Oracle的不一样,你可以在网上查查sql语句类似... where substr(id, 1, LENGTH(pid)) = pid.这是oracle上的方式了,mysql应该有对应的function,至于跨mysql和oracle就要看函数名和参数方式是不是一样了,如果不一样,就自己在一边写同名的function来mapping就可以了。
==================================================================
Inthirties关注Oracle数据库 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
QQ群: 85837884(注明:数据库)
电子邮件:[email protected]
网站: http://www.inthirties.com
这个应该能满足你的需求
十分感谢你的方法,如果我要传入多个pid,有没有什么简洁反的方法?试了你给的2个数据库是通用的。
这句话好像不是很好理解, 不知道楼主要的是不是这个:select * from aa where pid='02' and substr(id,1,2)='02';
或
select * from aa where pid='02' and id like '02%';