2021
03-17
03-17
Oracle使用like查询时对下划线的处理方法
如:查询ZJ_STANDARD_ITEM表的name1字段包含"_("的数据--以下的查询语句执行会发现所查询的数据并不是我们想要数据select*fromZJ_STANDARD_ITEMtwheret.name1like'%_(%';原因分析下划线“_”在oracle中不是单纯的表示下划线的意思,而是表示匹配单一任何字符!如以上查询语句就表示"("左边只要有任意字符都会被查询到【解决办法】使用escape()函数escape关键字经常用于使某些特殊字符,如通配符:'%','_‘转义为它们原来...
继续阅读 >
在SQllike语句中,比如SELECT*FROMuserWHEREusernameLIKE'%luchi%'SELECT*FROMuserWHEREusernameLIKE'_luchi_',%作为通配符通配多个_作为通配符通配一个但当like所要查询的字段中含有%,我们如何去查:这个时候就需要指明字段中的那个'%‘不作为通配符;这里就需要用到ESCAPE转义测试:这里我们使用这张表转义前:SELECT*FROMuserWHEREusernameLIKE'%%%';这里会发现三个%号都被当做通配符了;转...
查询背景有一个表tmp_test_course大概有10万条记录,然后有个json字段叫outline,存了一对多关系(保存了多个编码,例如jy1577683381775)我们需要在这10万条数据中检索特定类型的数据,目标总数据量:2931条SELECTCOUNT(*)FROMtmp_test_courseWHERE`type`=5ANDdel=2ANDis_leaf=1我们在限定为上面类型的同时,还得包含下面任意一个编码(也就是OR查询)jy1577683381775jy1577683380808jy1577683379178jy1577683378676jy1577...