求一句SQL,选出某字段中出现若干次“.”的记录。(次数可以指定) 

解决方案 »

  1.   

    SQL> SELECT LENGTH('1.2.3.4.5')-LENGTH(REPLACE('1.2.3.4.5','.','')) FROM DUAL;LENGTH('1.2.3.4.5')-LENGTH(REPLACE('1.2.3.4.5','.',''))
    -------------------------------------------------------
                                                          4SQL>
      

  2.   

    select len(cstr)-len(replace(cstr,sStr,'')) from yourTable
      

  3.   

    SQL> SELECT LENGTHB('1.2.34.5')-LENGTHB(REPLACE('1.2.34.5','.','')) ".出现的次数" FROM DUAL;.出现的次数
    -----------
              3
      

  4.   

    SQL> SELECT * FROM emp
      2  WHERE LENGTHB(empno)-LENGTHB(REPLACE(empno,'7',''))=2;EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
     7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10
     7788 SCOTT      ANALYST    7566 1987-4-19     3000.00               20
     7876 ADAMS      CLERK      7788 1987-5-23     1100.00               20SQL>