在sql查询时用substr代替like,可以提升查询效率。
例子:
在大多数SQL实现中都有获取字符串子串的函数。但名称可能略有不同,比如Oracle和SQL Server。
oracle中语法是:
sql server中语法是:
对于这个函数来说,这两个实现之间的惟一差别就是函数的名称。
例1,返回emp id的前3个字符:
例2,返回emp_id的第4个和第5个字符:
例3,返回emp_id的第6个到第9个字符:
例4,以下在sql server和mysql中均可使用。
SELECT EMP_ID,SUBSTRING(EMP_ID,1,3)
FROM EMPLOYEE_TBL;
EMP_IDSUB
.............. ...........
311549902 311
442346889 442
213764555 213
313782439 313
220984332 220
443679012 443
6 rows affected.
例5,以下sql语句是用于oracle的:
SELECT EMP_ID,SUBSTR(EMP_ID,1,3)
FROM EMPLOYEE_TBL;
EMP_ID SUB
.........
311549902311
442346889442
213764555213
313782439313
220984332220
443679012443
6 rows selected.